From a089ac5576c128fd833b2be416598a6fc0c3ae4d Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 10 Oct 2026 16:48:25 +0000 Subject: [PATCH 01/10] wxGUI: Fix typos and rename misspelled identifiers Fix typos in comments and docstrings and rename misspelled local variables, attributes and parameters. --- gui/wxpython/core/workspace.py | 10 +++++----- gui/wxpython/gcp/mapdisplay.py | 2 +- gui/wxpython/gmodeler/model_items.py | 4 ++-- gui/wxpython/gui_core/prompt.py | 4 ++-- gui/wxpython/image2target/ii2t_mapdisplay.py | 2 +- gui/wxpython/iscatt/dialogs.py | 6 +++--- gui/wxpython/lmgr/workspace.py | 2 +- gui/wxpython/mapdisp/frame.py | 4 ++-- gui/wxpython/modules/colorrules.py | 12 ++++++------ gui/wxpython/photo2image/ip2i_mapdisplay.py | 2 +- gui/wxpython/psmap/instructions.py | 4 ++-- gui/wxpython/psmap/utils.py | 8 ++++---- gui/wxpython/rlisetup/functions.py | 4 ++-- gui/wxpython/tplot/frame.py | 10 +++++----- gui/wxpython/vdigit/preferences.py | 10 +++++----- gui/wxpython/vnet/dialogs.py | 4 ++-- gui/wxpython/web_services/widgets.py | 6 +++--- 17 files changed, 47 insertions(+), 47 deletions(-) diff --git a/gui/wxpython/core/workspace.py b/gui/wxpython/core/workspace.py index 952e3742d8c..6eb5f0f4af0 100644 --- a/gui/wxpython/core/workspace.py +++ b/gui/wxpython/core/workspace.py @@ -516,8 +516,8 @@ def __processLayerNvizVolume(self, nvizData, nodeVolume): if node_res is not None: nvizData["volume"]["draw"]["resolution"] = {} for vol_type in ("isosurface", "slice"): - nd = node_res.find(vol_type) - value = int(self.__getNodeText(nd, "value")) + node_el = node_res.find(vol_type) + value = int(self.__getNodeText(node_el, "value")) nvizData["volume"]["draw"]["resolution"][vol_type] = { "value": value } @@ -525,9 +525,9 @@ def __processLayerNvizVolume(self, nvizData, nodeVolume): if node_shading is not None: nvizData["volume"]["draw"]["shading"] = {} for vol_type in ("isosurface", "slice"): - nd = node_shading.find(vol_type) - value = int(self.__getNodeText(nd, "value")) - desc = self.__getNodeText(nd, "desc") + node_el = node_shading.find(vol_type) + value = int(self.__getNodeText(node_el, "value")) + desc = self.__getNodeText(node_el, "desc") nvizData["volume"]["draw"]["shading"][vol_type] = { "value": value, "desc": desc, diff --git a/gui/wxpython/gcp/mapdisplay.py b/gui/wxpython/gcp/mapdisplay.py index 544f26d9335..b7d9d6dfdd3 100644 --- a/gui/wxpython/gcp/mapdisplay.py +++ b/gui/wxpython/gcp/mapdisplay.py @@ -201,7 +201,7 @@ def __init__( # do not init zoom history here, that happens when zooming to map(s) # - # Re-use dialogs + # Reuse dialogs # self.dialogs = {} self.dialogs["attributes"] = None diff --git a/gui/wxpython/gmodeler/model_items.py b/gui/wxpython/gmodeler/model_items.py index 0c38abdd3ba..a0742907f2a 100644 --- a/gui/wxpython/gmodeler/model_items.py +++ b/gui/wxpython/gmodeler/model_items.py @@ -258,8 +258,8 @@ def ReformatRegions(self): self.FormatText(dc, text, rnum) rnum += 1 - def OnSizingEndDragLeft(self, pt, x, y, keys, attch): - ogl.DividedShape.OnSizingEndDragLeft(self, pt, x, y, keys, attch) + def OnSizingEndDragLeft(self, pt, x, y, keys, attach): + ogl.DividedShape.OnSizingEndDragLeft(self, pt, x, y, keys, attach) self.SetRegionSizes() self.ReformatRegions() self.GetCanvas().Refresh() diff --git a/gui/wxpython/gui_core/prompt.py b/gui/wxpython/gui_core/prompt.py index 11e711ec9ee..83e7925796d 100644 --- a/gui/wxpython/gui_core/prompt.py +++ b/gui/wxpython/gui_core/prompt.py @@ -366,10 +366,10 @@ def EntityToComplete(self): return toComplete try: - splitted = utils.split(str(entry)) + split_items = utils.split(str(entry)) except ValueError: # No closing quotation error return toComplete - if len(splitted) > 0 and cmd in globalvar.grassCmd: + if len(split_items) > 0 and cmd in globalvar.grassCmd: toComplete["cmd"] = cmd if entry[-1] == " ": words = entry.split(" ") diff --git a/gui/wxpython/image2target/ii2t_mapdisplay.py b/gui/wxpython/image2target/ii2t_mapdisplay.py index 4f0b79d0592..8a7584632cd 100644 --- a/gui/wxpython/image2target/ii2t_mapdisplay.py +++ b/gui/wxpython/image2target/ii2t_mapdisplay.py @@ -204,7 +204,7 @@ def __init__( # do not init zoom history here, that happens when zooming to map(s) # - # Re-use dialogs + # Reuse dialogs # self.dialogs = {} self.dialogs["attributes"] = None diff --git a/gui/wxpython/iscatt/dialogs.py b/gui/wxpython/iscatt/dialogs.py index a9b9995a372..d3dc9b9ecc8 100644 --- a/gui/wxpython/iscatt/dialogs.py +++ b/gui/wxpython/iscatt/dialogs.py @@ -423,7 +423,7 @@ def __init__( gridSizer = wx.GridBagSizer(vgap=1, hgap=1) row = 0 - setts = {**self.colorsSetts, **self.sizeSetts} + current_settings = {**self.colorsSetts, **self.sizeSetts} settsOrder = [ "sel_pol", @@ -433,7 +433,7 @@ def __init__( "snap_tresh", ] for settKey in settsOrder: - sett = setts[settKey] + sett = current_settings[settKey] gridSizer.Add( settsLabels[settKey], flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0) ) @@ -454,7 +454,7 @@ def __init__( ellPolBoxSizer = wx.StaticBoxSizer(ell_box, wx.VERTICAL) gridSizer = wx.GridBagSizer(vgap=1, hgap=1) - sett = setts[settKey] + sett = current_settings[settKey] row = 0 gridSizer.Add( diff --git a/gui/wxpython/lmgr/workspace.py b/gui/wxpython/lmgr/workspace.py index 8701840214a..5774f0335d7 100644 --- a/gui/wxpython/lmgr/workspace.py +++ b/gui/wxpython/lmgr/workspace.py @@ -535,7 +535,7 @@ def CreateRecentFilesMenu(self, menu=None): def AddFileToHistory(self, file_path=None): """Add file to history (recent files) - :param str file_path: file path wit default arg None + :param str file_path: file path with default arg None :return None """ diff --git a/gui/wxpython/mapdisp/frame.py b/gui/wxpython/mapdisp/frame.py index caba42cbc43..514b571cf8d 100644 --- a/gui/wxpython/mapdisp/frame.py +++ b/gui/wxpython/mapdisp/frame.py @@ -247,7 +247,7 @@ def __init__( self.printopt = PrintOptions(self, self.MapWindow) # - # Re-use dialogs + # Reuse dialogs # self.dialogs = {} self.dialogs["attributes"] = None @@ -537,7 +537,7 @@ def AddNviz(self): def Disable3dMode(self): """Disables 3D mode (NVIZ) in user interface.""" - # TODO: this is broken since item is removed but switch is drived by + # TODO: this is broken since item is removed but switch is driven by # index if "3D" in self.toolbars["map"].combo.GetString(1): self.toolbars["map"].combo.Delete(1) diff --git a/gui/wxpython/modules/colorrules.py b/gui/wxpython/modules/colorrules.py index 42de0f7a5aa..81ee93abac9 100644 --- a/gui/wxpython/modules/colorrules.py +++ b/gui/wxpython/modules/colorrules.py @@ -1391,9 +1391,9 @@ def AddTemporaryColumn(self, type): idx += 1 self.properties["tmpColumn"] = name + "_" + str(idx) - modul = "v.db.addcolumn" if self.version7 else "v.db.addcol" + module_name = "v.db.addcolumn" if self.version7 else "v.db.addcol" RunCommand( - modul, + module_name, parent=self, map=self.inmap, layer=self.properties["layer"], @@ -1406,9 +1406,9 @@ def DeleteTemporaryColumn(self): return if self.inmap: - modul = "v.db.dropcolumn" if self.version7 else "v.db.dropcol" + module_name = "v.db.dropcolumn" if self.version7 else "v.db.dropcol" RunCommand( - modul, + module_name, map=self.inmap, layer=self.properties["layer"], column=self.properties["tmpColumn"], @@ -1475,9 +1475,9 @@ def OnAddColumn(self, event): self.columnsProp[self.attributeType]["name"] not in self.fromColumn.GetColumns() ): - modul = "v.db.addcolumn" if self.version7 else "v.db.addcol" + module_name = "v.db.addcolumn" if self.version7 else "v.db.addcol" RunCommand( - modul, + module_name, map=self.inmap, layer=self.properties["layer"], columns="%s %s" diff --git a/gui/wxpython/photo2image/ip2i_mapdisplay.py b/gui/wxpython/photo2image/ip2i_mapdisplay.py index d4003c3a0e9..03122f1959c 100644 --- a/gui/wxpython/photo2image/ip2i_mapdisplay.py +++ b/gui/wxpython/photo2image/ip2i_mapdisplay.py @@ -199,7 +199,7 @@ def __init__( # do not init zoom history here, that happens when zooming to map(s) # - # Re-use dialogs + # Reuse dialogs # self.dialogs = {} self.dialogs["attributes"] = None diff --git a/gui/wxpython/psmap/instructions.py b/gui/wxpython/psmap/instructions.py index 7c5afcf8637..9370bb08af0 100644 --- a/gui/wxpython/psmap/instructions.py +++ b/gui/wxpython/psmap/instructions.py @@ -105,11 +105,11 @@ def __delitem__(self, id): continue if each.type == "map": # must remove raster, vector layers, labels too - vektor = self.FindInstructionByType("vector", list=True) + vector_list = self.FindInstructionByType("vector", list=True) vProperties = self.FindInstructionByType("vProperties", list=True) raster = self.FindInstructionByType("raster", list=True) labels = self.FindInstructionByType("labels", list=True) - for item in vektor + vProperties + raster + labels: + for item in vector_list + vProperties + raster + labels: if item in self.instruction: self.instruction.remove(item) diff --git a/gui/wxpython/psmap/utils.py b/gui/wxpython/psmap/utils.py index 01152fdac89..a65ffedd854 100644 --- a/gui/wxpython/psmap/utils.py +++ b/gui/wxpython/psmap/utils.py @@ -310,20 +310,20 @@ def ComputeSetRegion(self, mapDict, env): if not hasattr(self, "unitConv"): self.unitConv = UnitConversion(self) - fromM = 1 + from_meters = 1 if projInfo()["proj"] != "xy": - fromM = float(projInfo()["meters"]) + from_meters = float(projInfo()["meters"]) rectHalfInch = (mapDict["rect"].width / 2, mapDict["rect"].height / 2) rectHalfMeter = ( self.unitConv.convert( value=rectHalfInch[0], fromUnit="inch", toUnit="meter" ) - / fromM + / from_meters / scale, self.unitConv.convert( value=rectHalfInch[1], fromUnit="inch", toUnit="meter" ) - / fromM + / from_meters / scale, ) diff --git a/gui/wxpython/rlisetup/functions.py b/gui/wxpython/rlisetup/functions.py index 1c7026b1901..9136d57ec3f 100644 --- a/gui/wxpython/rlisetup/functions.py +++ b/gui/wxpython/rlisetup/functions.py @@ -69,8 +69,8 @@ def checkMapExists(name, typ="raster") -> bool: """Check if a map already exist in the working mapset""" env = grass.gisenv() mapset = env["MAPSET"] - mapp = grass.find_file(name, typ, mapset) - return bool(mapp.name != "") + found_map = grass.find_file(name, typ, mapset) + return bool(found_map.name != "") def convertFeature(vect, outrast, cat, origrast, layer="1", overwrite=False): diff --git a/gui/wxpython/tplot/frame.py b/gui/wxpython/tplot/frame.py index 9480d74fe9a..a4a0455e1ba 100755 --- a/gui/wxpython/tplot/frame.py +++ b/gui/wxpython/tplot/frame.py @@ -502,9 +502,9 @@ def _getSTRDdata(self, timeseries): self.temporalType = mode return - def _parseVDbConn(self, mapp, layerInp): + def _parseVDbConn(self, map_name, layerInp): """find attribute key according to layer of input map""" - vdb = Module("v.db.connect", map=mapp, flags="g", stdout_=PIPE) + vdb = Module("v.db.connect", map=map_name, flags="g", stdout_=PIPE) vdb = vdb.outputs.stdout for line in vdb.splitlines(): @@ -514,9 +514,9 @@ def _parseVDbConn(self, mapp, layerInp): return lsplit[2] return None - def _getExistingCategories(self, mapp, cats): + def _getExistingCategories(self, map_name, cats): """Get a list of categories for a vector map""" - vdb = gs.read_command("v.category", input=mapp, option="print") + vdb = gs.read_command("v.category", input=map_name, option="print") categories = vdb.splitlines() if not cats: return categories @@ -526,7 +526,7 @@ def _getExistingCategories(self, mapp, cats): message=_( "Category {ca} is not on vector map" " {ma} and it will be not used" - ).format(ma=mapp, ca=cat), + ).format(ma=map_name, ca=cat), parent=self, ) cats.remove(cat) diff --git a/gui/wxpython/vdigit/preferences.py b/gui/wxpython/vdigit/preferences.py index d4e46d446e9..76b18ab0e9a 100644 --- a/gui/wxpython/vdigit/preferences.py +++ b/gui/wxpython/vdigit/preferences.py @@ -290,15 +290,15 @@ def _createGeneralPage(self, notebook): border=10, ) - self.selectIn = CheckBox( + self.selectInside = CheckBox( parent=panel, id=wx.ID_ANY, label=_("Select only features inside of selection bounding box"), ) - self.selectIn.SetValue( + self.selectInside.SetValue( UserSettings.Get(group="vdigit", key="selectInside", subkey="enabled") ) - self.selectIn.SetToolTip( + self.selectInside.SetToolTip( _( "By default are selected all features overlapping selection bounding " "box " @@ -313,7 +313,7 @@ def _createGeneralPage(self, notebook): ) sizer.Add(flexSizer, proportion=0, flag=wx.EXPAND) - sizer.Add(self.selectIn, proportion=0, flag=wx.EXPAND | wx.ALL, border=1) + sizer.Add(self.selectInside, proportion=0, flag=wx.EXPAND | wx.ALL, border=1) sizer.Add(self.checkForDupl, proportion=0, flag=wx.EXPAND | wx.ALL, border=1) border.Add( sizer, @@ -1057,7 +1057,7 @@ def UpdateSettings(self): group="vdigit", key="selectInside", subkey="enabled", - value=self.selectIn.IsChecked(), + value=self.selectInside.IsChecked(), ) # on-exit diff --git a/gui/wxpython/vnet/dialogs.py b/gui/wxpython/vnet/dialogs.py index c0e92376cb2..f3bd57338f6 100644 --- a/gui/wxpython/vnet/dialogs.py +++ b/gui/wxpython/vnet/dialogs.py @@ -1381,7 +1381,7 @@ def __init__( gridSizer = wx.GridBagSizer(vgap=1, hgap=1) row = 0 - setts = {**self.colorsSetts, **self.sizeSetts} + current_settings = {**self.colorsSetts, **self.sizeSetts} settsOrder = [ "selected", @@ -1392,7 +1392,7 @@ def __init__( "point_width", ] for settKey in settsOrder: - sett = setts[settKey] + sett = current_settings[settKey] gridSizer.Add( settsLabels[settKey], flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0) ) diff --git a/gui/wxpython/web_services/widgets.py b/gui/wxpython/web_services/widgets.py index d0bd2ea41b2..e3df94dc89b 100644 --- a/gui/wxpython/web_services/widgets.py +++ b/gui/wxpython/web_services/widgets.py @@ -1145,12 +1145,12 @@ def _layout(self): self.settingsSizer.Add(self.btnAddDefaultServers, flag=wx.RIGHT, border=5) def OnAddDefaultServers(self, event): - setts = self.GetSettings() + current_settings = self.GetSettings() self.servers_to_add = {} for k, v in self.default_servers.items(): - if k not in setts.keys(): + if k not in current_settings.keys(): self.servers_to_add[k] = v - elif v != setts[k]: + elif v != current_settings[k]: GMessage( parent=self, message=_( From a20c04773ec3bf854a909109e83c69afb593814b Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 10 Oct 2026 16:48:25 +0000 Subject: [PATCH 02/10] docs: Fix typos in goodness.tex --- lib/cdhc/doc/goodness.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/cdhc/doc/goodness.tex b/lib/cdhc/doc/goodness.tex index 671ff7b54f6..c718d955a10 100644 --- a/lib/cdhc/doc/goodness.tex +++ b/lib/cdhc/doc/goodness.tex @@ -91,7 +91,7 @@ \subsection{Hypothesis Testing} follows a particular distribution \(F\left(x\right)\). Generally, the {\em alternative\/} hypothesis is that \(x\) does not follow \(F\left(x\right)\) (with no additional -usuable information; the Kotz Separate Families test in \S\ref{sec:kotz} +usable information; the Kotz Separate Families test in \S\ref{sec:kotz} is one exception). This may differ from the way that some have learned hypothesis testing in that some tests are set up to reject the null hypothesis in @@ -941,7 +941,7 @@ \section{Chi-Square Test} P\left(x\le x_{\left(i\right)}\right) = \frac{i}{k},\: i=1,2,\ldots,k \end{equation} -In thse implmentation, only the case of raw data, as opposed +In these implementation, only the case of raw data, as opposed to pre-tabulated data, is considered (i.e., equal probability cells). For testing the normality hypothesis, @@ -2183,7 +2183,7 @@ \section{Utility Functions} \clearpage \begin{table} -\caption{Critcal Values of the Shapiro-Wilk \(W\) for Testing Exponentiality.} +\caption{Critical Values of the Shapiro-Wilk \(W\) for Testing Exponentiality.} \centerline{Reproduced from Table~1 of Shapiro and Wilk~\cite{shapiro72}.} \label{tbl:w-test-e} \scriptsize From bb2fb8e20c4c6d1705920f900419cac22e529d0c Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 10 Oct 2026 16:48:25 +0000 Subject: [PATCH 03/10] Python: Fix typos in comments, docstrings and tests Fix misspelled words in comments, docstrings, error messages and test code, and rename misspelled local variables. Abbreviated option names and deliberate fixtures are marked for codespell instead of changed. --- db/db.columns/testsuite/test_db_columns.py | 2 +- man/build_class_graphical.py | 4 ++-- man/build_manual_gallery.py | 2 +- man/sphinx/conf.py | 2 +- .../gunittest/testsuite/test_gunitest_doctests.py | 2 +- python/grass/imaging/images2swf.py | 2 +- python/grass/pydispatch/signal.py | 2 +- python/grass/pygrass/gis/region.py | 2 +- .../pygrass/gis/testsuite/test_pygrass_gis_doctests.py | 2 +- python/grass/pygrass/modules/grid/grid.py | 8 ++++---- .../test_pygrass_modules_interface_doctests.py | 2 +- .../raster/testsuite/test_pygrass_raster_doctests.py | 2 +- .../shell/testsuite/test_pygrass_shell_doctests.py | 2 +- .../grass/pygrass/testsuite/test_pygrass_doctests.py | 2 +- python/grass/pygrass/vector/basic.py | 2 +- python/grass/pygrass/vector/table.py | 10 +++++----- .../vector/testsuite/test_pygrass_vector_doctests.py | 2 +- python/grass/semantic_label/reader.py | 2 +- python/grass/temporal/datetime_math.py | 8 ++++---- python/grass/temporal/extract.py | 2 +- python/grass/temporal/metadata.py | 8 ++++---- python/grass/temporal/testsuite/test_mapset_change.py | 2 +- .../grass/tools/tests/grass_tools_tool_error_test.py | 2 +- python/grass/utils/download.py | 2 +- raster/r.info/testsuite/test_r_info.py | 2 +- .../testsuite/test_r_smooth_edgepreserve.py | 2 +- scripts/g.extension.all/g.extension.all.py | 8 ++++---- scripts/i.oif/i.oif.py | 4 ++-- scripts/r.grow/testsuite/test_r_grow.py | 4 ++-- .../r.reclass.area/testsuite/test_r_reclass_area.py | 2 +- scripts/v.report/v.report.py | 6 +++--- utils/g.md2man/tests/g_md2man_test.py | 6 +++--- utils/generate_release_notes.py | 2 +- utils/update_version.py | 2 +- .../v.db.select/testsuite/test_v_db_select_json_csv.py | 10 +++++----- 35 files changed, 62 insertions(+), 62 deletions(-) diff --git a/db/db.columns/testsuite/test_db_columns.py b/db/db.columns/testsuite/test_db_columns.py index e3eee33711a..52f5b2fe748 100644 --- a/db/db.columns/testsuite/test_db_columns.py +++ b/db/db.columns/testsuite/test_db_columns.py @@ -199,7 +199,7 @@ def test_dbcols_list_more_info(self): ) self.assertEqual(cols, output_list_more_info) - # with semicolumn as separator: + # with semicolon as separator: cols = read_command( "db.columns", table=self.invect, diff --git a/man/build_class_graphical.py b/man/build_class_graphical.py index b6c782d7934..ce048479b6b 100644 --- a/man/build_class_graphical.py +++ b/man/build_class_graphical.py @@ -144,7 +144,7 @@ def generate_page_for_category( if module_family.lower() not in {"general", "postscript"}: if module_family == "raster3d": - # covert keyword to nice form + # convert keyword to nice form module_family = "3D raster" output.write( modclass_intro_tmpl.substitute( @@ -203,7 +203,7 @@ def generate_page_for_category_md( if module_family.lower() not in {"general", "postscript"}: if module_family == "raster3d": - # covert keyword to nice form + # convert keyword to nice form module_family = "3D raster" output.write( modclass_intro_tmpl.substitute( diff --git a/man/build_manual_gallery.py b/man/build_manual_gallery.py index dd19d1655ce..2baf71eee30 100755 --- a/man/build_manual_gallery.py +++ b/man/build_manual_gallery.py @@ -91,7 +91,7 @@

GRASS manual gallery

""" -# The recommeded width from style guide. +# The recommended width from style guide. MIN_IMAGE_WIDTH = 600 diff --git a/man/sphinx/conf.py b/man/sphinx/conf.py index a8a86b013fc..2f567bc4d95 100644 --- a/man/sphinx/conf.py +++ b/man/sphinx/conf.py @@ -282,7 +282,7 @@ # The format is a list of tuples containing the path and title. # epub_pre_files = [] -# HTML files shat should be inserted after the pages created by sphinx. +# HTML files that should be inserted after the pages created by sphinx. # The format is a list of tuples containing the path and title. # epub_post_files = [] diff --git a/python/grass/gunittest/testsuite/test_gunitest_doctests.py b/python/grass/gunittest/testsuite/test_gunitest_doctests.py index 85a36b281af..a4116437bce 100644 --- a/python/grass/gunittest/testsuite/test_gunitest_doctests.py +++ b/python/grass/gunittest/testsuite/test_gunitest_doctests.py @@ -29,7 +29,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in 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 diff --git a/python/grass/imaging/images2swf.py b/python/grass/imaging/images2swf.py index 156ef0c3d8a..75231f62999 100644 --- a/python/grass/imaging/images2swf.py +++ b/python/grass/imaging/images2swf.py @@ -37,7 +37,7 @@ package. I tried writing animated gif using PIL (which is widely available), but the quality is so poor because it only allows for 256 different colors. [EDIT: thanks to Ant1, now the quality of animated gif isn't so bad!] -I also looked into MNG and APNG, two standards similar to the PNG stanard. +I also looked into MNG and APNG, two standards similar to the PNG standard. Both standards promise exactly what I need. However, hardly any application can read those formats, and I cannot import them in flash. diff --git a/python/grass/pydispatch/signal.py b/python/grass/pydispatch/signal.py index 46f3a25695b..066e8973be7 100644 --- a/python/grass/pydispatch/signal.py +++ b/python/grass/pydispatch/signal.py @@ -206,7 +206,7 @@ def setColor(self, color): Calling a signal from outside the class is usually not good practice. The only case when it is permitted is when signal is the part - of some globaly shared object and permission to emit is stayed in the + of some globally shared object and permission to emit is stayed in the documentation. The parameters of the emit function must be the same as the parameters diff --git a/python/grass/pygrass/gis/region.py b/python/grass/pygrass/gis/region.py index 3d223977993..0c1202f0730 100644 --- a/python/grass/pygrass/gis/region.py +++ b/python/grass/pygrass/gis/region.py @@ -573,7 +573,7 @@ def write(self): 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 + carefully used, since the user will not notice if his region was changed and would expect that only g.region will do this. :Example: diff --git a/python/grass/pygrass/gis/testsuite/test_pygrass_gis_doctests.py b/python/grass/pygrass/gis/testsuite/test_pygrass_gis_doctests.py index d5a23d0281c..86abff65403 100644 --- a/python/grass/pygrass/gis/testsuite/test_pygrass_gis_doctests.py +++ b/python/grass/pygrass/gis/testsuite/test_pygrass_gis_doctests.py @@ -29,7 +29,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in in lib/python # for now it is the only place where it works grass.gunittest.utils.do_doctest_gettext_workaround() diff --git a/python/grass/pygrass/modules/grid/grid.py b/python/grass/pygrass/modules/grid/grid.py index e3c3c3ebdbc..f504cd4068c 100644 --- a/python/grass/pygrass/modules/grid/grid.py +++ b/python/grass/pygrass/modules/grid/grid.py @@ -251,7 +251,7 @@ def copy_rasters(rasters, gisrc_src, gisrc_dst, processes, region=None): set_region(region, gisrc_src, gisrc_dst, env) path_dst = os.path.join(*read_gisrc(gisrc_dst)[::-1]) - nam = "copy%d__%s" % (id(gisrc_dst), "%s") + copy_name = "copy%d__%s" % (id(gisrc_dst), "%s") # instantiate modules mpclc = Module("r.mapcalc") @@ -263,7 +263,7 @@ def copy_rasters(rasters, gisrc_src, gisrc_dst, processes, region=None): rast_clean = rast.split("@")[0] if "@" in rast else rast # change gisdbase to src env["GISRC"] = gisrc_src - name = nam % rast_clean + name = copy_name % rast_clean mpclc( expression="%s=%s" % (name, rast), nprocs=processes, @@ -293,7 +293,7 @@ def copy_vectors(vectors, gisrc_src, gisrc_dst): """ env = os.environ.copy() path_dst = os.path.join(*read_gisrc(gisrc_dst)) - nam = "copy%d__%s" % (id(gisrc_dst), "%s") + copy_name = "copy%d__%s" % (id(gisrc_dst), "%s") # instantiate modules vpck = Module("v.pack") @@ -303,7 +303,7 @@ def copy_vectors(vectors, gisrc_src, gisrc_dst): for vect in vectors: # change gisdbase to src env["GISRC"] = gisrc_src - name = nam % vect + name = copy_name % vect file_dst = "%s.pack" % os.path.join(path_dst, name) vpck(input=name, output=file_dst, overwrite=True, env_=env) remove(flags="f", type="vector", name=name, env_=env) diff --git a/python/grass/pygrass/modules/interface/testsuite/test_pygrass_modules_interface_doctests.py b/python/grass/pygrass/modules/interface/testsuite/test_pygrass_modules_interface_doctests.py index b36edcf297d..d29b67c489c 100644 --- a/python/grass/pygrass/modules/interface/testsuite/test_pygrass_modules_interface_doctests.py +++ b/python/grass/pygrass/modules/interface/testsuite/test_pygrass_modules_interface_doctests.py @@ -28,7 +28,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in 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 diff --git a/python/grass/pygrass/raster/testsuite/test_pygrass_raster_doctests.py b/python/grass/pygrass/raster/testsuite/test_pygrass_raster_doctests.py index 23135f677be..a84079aa261 100644 --- a/python/grass/pygrass/raster/testsuite/test_pygrass_raster_doctests.py +++ b/python/grass/pygrass/raster/testsuite/test_pygrass_raster_doctests.py @@ -28,7 +28,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in 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 diff --git a/python/grass/pygrass/shell/testsuite/test_pygrass_shell_doctests.py b/python/grass/pygrass/shell/testsuite/test_pygrass_shell_doctests.py index 49cd8032efc..06201061e88 100644 --- a/python/grass/pygrass/shell/testsuite/test_pygrass_shell_doctests.py +++ b/python/grass/pygrass/shell/testsuite/test_pygrass_shell_doctests.py @@ -28,7 +28,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in 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 diff --git a/python/grass/pygrass/testsuite/test_pygrass_doctests.py b/python/grass/pygrass/testsuite/test_pygrass_doctests.py index 3594c51b59a..152fe0a7447 100644 --- a/python/grass/pygrass/testsuite/test_pygrass_doctests.py +++ b/python/grass/pygrass/testsuite/test_pygrass_doctests.py @@ -28,7 +28,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in in lib/python from grass.script.core import run_command gutils.create_test_vector_map(gutils.test_vector_name) diff --git a/python/grass/pygrass/vector/basic.py b/python/grass/pygrass/vector/basic.py index 088fadf8059..c0dd0a8a31f 100644 --- a/python/grass/pygrass/vector/basic.py +++ b/python/grass/pygrass/vector/basic.py @@ -31,7 +31,7 @@ class Bbox: >>> bbox Bbox(10.0, -10.0, -20.0, 20.0) - Or directly istantiate the class with the values, with: + Or directly instantiate the class with the values, with: >>> bbox = Bbox(north=100, south=0, east=0, west=100) >>> bbox diff --git a/python/grass/pygrass/vector/table.py b/python/grass/pygrass/vector/table.py index ea54af90841..6490031d9b7 100644 --- a/python/grass/pygrass/vector/table.py +++ b/python/grass/pygrass/vector/table.py @@ -368,12 +368,12 @@ def names(self, remove=None, unicod=True): ['cat', 'name', 'value'] """ - nams = list(self.odict.keys()) + names = list(self.odict.keys()) if remove: - nams.remove(remove) + names.remove(remove) if unicod: - return nams - return [str(name) for name in nams] + return names + return [str(name) for name in names] def items(self): """Return a list of tuple with column name and column type. @@ -862,7 +862,7 @@ def connection(self): ) raise - str_err = "Driver is not supported yet, pleas use: sqlite or pg" + str_err = "Driver is not supported yet, please use: sqlite or pg" raise TypeError(str_err) def table(self): diff --git a/python/grass/pygrass/vector/testsuite/test_pygrass_vector_doctests.py b/python/grass/pygrass/vector/testsuite/test_pygrass_vector_doctests.py index 2cf0d0ba0c5..001694a8326 100644 --- a/python/grass/pygrass/vector/testsuite/test_pygrass_vector_doctests.py +++ b/python/grass/pygrass/vector/testsuite/test_pygrass_vector_doctests.py @@ -26,7 +26,7 @@ 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 + # TODO: ultimate solution is not to use _ as a built-in in lib/python # for now it is the only place where it works grass.gunittest.utils.do_doctest_gettext_workaround() diff --git a/python/grass/semantic_label/reader.py b/python/grass/semantic_label/reader.py index 6dc7c5eae27..f784fedd36e 100644 --- a/python/grass/semantic_label/reader.py +++ b/python/grass/semantic_label/reader.py @@ -123,7 +123,7 @@ def print_info(self, shortcut=None, band=None, semantic_label=None, extended=Fal if extended: for subitem in item.keys(): if subitem == "bands": - # bands item is processed bellow + # bands item is processed below continue print("{}: {}".format(subitem, item[subitem])) diff --git a/python/grass/temporal/datetime_math.py b/python/grass/temporal/datetime_math.py index 018c10ba111..c6d923fa731 100644 --- a/python/grass/temporal/datetime_math.py +++ b/python/grass/temporal/datetime_math.py @@ -965,16 +965,16 @@ def create_suffix_from_datetime(start_time: datetime, granularity: str) -> str: return start_time.strftime(suffix_units[granularity.split(" ", 2)[1]]) -def create_time_suffix(mapp, end: bool = False) -> str: +def create_time_suffix(map_name, end: bool = False) -> str: """Create a datetime string based on a map datetime object - :param mapp: a temporal map dataset + :param map_name: a temporal map dataset :param end: True if you want add also end time to the suffix """ - start = mapp.temporal_extent.get_start_time() + start = map_name.temporal_extent.get_start_time() sstring = start.isoformat().replace(":", "_").replace("-", "_") if end: - end = mapp.temporal_extent.get_end_time() + end = map_name.temporal_extent.get_end_time() estring = end.isoformat().replace(":", "_").replace("-", "_") return "{st}_{en}".format(st=sstring, en=estring) return sstring diff --git a/python/grass/temporal/extract.py b/python/grass/temporal/extract.py index 3316d914cf4..dd882afb5c9 100644 --- a/python/grass/temporal/extract.py +++ b/python/grass/temporal/extract.py @@ -74,7 +74,7 @@ def replace_stds_names(expression: str, simple_name: str, full_name: str) -> str """Safely replace simple with full STDS names. When users provide inconsistent input for STDS in the expression - (with and without mapset componenet) or if the STDS name is part + (with and without mapset component) or if the STDS name is part of the name of other raster maps in the expression, the final mapcalc expression may become invalid when the STDS name later is replaced with the name of the individual maps in the time series. diff --git a/python/grass/temporal/metadata.py b/python/grass/temporal/metadata.py index f892230b00e..667d3097679 100644 --- a/python/grass/temporal/metadata.py +++ b/python/grass/temporal/metadata.py @@ -1161,7 +1161,7 @@ class STDSRasterMetadataBase(STDSMetadataBase): class for strds and str3ds datasets Most of the metadata values are set by SQL scripts in the database when - new maps are added. Therefor only some set- an many + new maps are added. Therefore only some set- an many get-functions are available. Usage: @@ -1388,7 +1388,7 @@ class STRDSMetadata(STDSRasterMetadataBase): space time raster datasets Most of the metadata values are set by SQL scripts in the database when - new raster maps are added. Therefor only some set- an many + new raster maps are added. Therefore only some set- an many get-functions are available. Usage: @@ -1583,7 +1583,7 @@ class STR3DSMetadata(STDSRasterMetadataBase): space time 3D raster datasets Most of the metadata values are set by SQL scripts in the database when - new 3D raster maps are added. Therefor only some set- an many + new 3D raster maps are added. Therefore only some set- an many get-functions are available. Usage: @@ -1739,7 +1739,7 @@ class STVDSMetadata(STDSMetadataBase): space time vector datasets Most of the metadata values are set by SQL scripts in the database when - new vector maps are added. Therefor only some set- an many get-functions + new vector maps are added. Therefore only some set- an many get-functions are available. Usage: diff --git a/python/grass/temporal/testsuite/test_mapset_change.py b/python/grass/temporal/testsuite/test_mapset_change.py index af168a3bce7..22eeb43c042 100644 --- a/python/grass/temporal/testsuite/test_mapset_change.py +++ b/python/grass/temporal/testsuite/test_mapset_change.py @@ -1,4 +1,4 @@ -"""Test wether a switch of mapset is taken into account +"""Test whether a switch of mapset is taken into account SPDX-FileCopyrightText: 2025 GRASS Development Team SPDX-License-Identifier: GPL-2.0-or-later diff --git a/python/grass/tools/tests/grass_tools_tool_error_test.py b/python/grass/tools/tests/grass_tools_tool_error_test.py index 23902febf12..3dae26ba72a 100644 --- a/python/grass/tools/tests/grass_tools_tool_error_test.py +++ b/python/grass/tools/tests/grass_tools_tool_error_test.py @@ -32,7 +32,7 @@ def test_tool_name_in_message(plain_tools): def test_parameter_in_message(plain_tools): - """Check parameters apprear in the message""" + """Check parameters appear in the message""" with pytest.raises(ToolError, match=r"raster.*does_not_exist"): plain_tools.g_region(raster="does_not_exist") diff --git a/python/grass/utils/download.py b/python/grass/utils/download.py index 6cda767354c..c18ec57a449 100644 --- a/python/grass/utils/download.py +++ b/python/grass/utils/download.py @@ -35,7 +35,7 @@ def debug(*args, **kwargs): """Print a debug message (to be used in this module only) - Using the stanard grass.script debug function is nice, but it may create a circular + Using the standard grass.script debug function is nice, but it may create a circular dependency if this is used from grass.script, so this is a wrapper which lazy imports the standard function. """ diff --git a/raster/r.info/testsuite/test_r_info.py b/raster/r.info/testsuite/test_r_info.py index b49b88c68ea..57b9e68bfc5 100644 --- a/raster/r.info/testsuite/test_r_info.py +++ b/raster/r.info/testsuite/test_r_info.py @@ -323,7 +323,7 @@ def test_no_flags_shell(self): 'source1="Vector Map: geology in mapset PERMANENT"', 'source2="Original Scale from Vector Map: 1:1"', 'description="generated by v.to.rast"', - 'comments="v.to.rast input="geology" output="geology_30m" use="attr" type="poin\\t,line,area" layer=1 column="GEOL250_ID" value=1 rows=4096 labelcolu\\mn="GEO_NAME""', + 'comments="v.to.rast input="geology" output="geology_30m" use="attr" type="poin\\t,line,area" layer=1 column="GEOL250_ID" value=1 rows=4096 labelcolu\\mn="GEO_NAME""', # codespell:ignore poin ] # Skip exact match for lines containing "location", "project", "database" because their values vary diff --git a/raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py b/raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py index c4072cbeae4..36b17adc5d1 100644 --- a/raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py +++ b/raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py @@ -1,6 +1,6 @@ """ Name: r.smooth.edgepreserve tests -Purpose: Test corectness of outputs +Purpose: Test correctness of outputs Author: Maris Nartiss SPDX-FileCopyrightText: 2025 Maris Nartiss diff --git a/scripts/g.extension.all/g.extension.all.py b/scripts/g.extension.all/g.extension.all.py index 0486fd5798c..e701ebb8096 100644 --- a/scripts/g.extension.all/g.extension.all.py +++ b/scripts/g.extension.all/g.extension.all.py @@ -62,15 +62,15 @@ def get_extensions(): return [] # read XML file - fo = open(fXML) + fobj = open(fXML) try: - tree = ET.fromstring(fo.read()) + tree = ET.fromstring(fobj.read()) except Exception as e: gs.error(_("Unable to parse metadata file: %s") % e) - fo.close() + fobj.close() return [] - fo.close() + fobj.close() libgis_rev = gs.version()["libgis_revision"] ret = [] diff --git a/scripts/i.oif/i.oif.py b/scripts/i.oif/i.oif.py index d158454bbe0..9608bfd42b6 100755 --- a/scripts/i.oif/i.oif.py +++ b/scripts/i.oif/i.oif.py @@ -47,7 +47,7 @@ def oifcalc(sdev, corr, k1, k2, k3): grass.debug(_("Calculating OIF for combination: %s, %s, %s") % (k1, k2, k3), 1) # calculate SUM of Stddeviations: ssdev = [sdev[k1], sdev[k2], sdev[k3]] - numer = sum(ssdev) + numerator = sum(ssdev) # calculate SUM of absolute(Correlation values): scorr = [corr[k1, k2], corr[k1, k3], corr[k2, k3]] @@ -55,7 +55,7 @@ def oifcalc(sdev, corr, k1, k2, k3): # Calculate OIF index: # Divide (SUM of Stddeviations) and (SUM of Correlation) - return numer / denom + return numerator / denom def perms(bands): diff --git a/scripts/r.grow/testsuite/test_r_grow.py b/scripts/r.grow/testsuite/test_r_grow.py index 0000f03b077..1aee516e861 100644 --- a/scripts/r.grow/testsuite/test_r_grow.py +++ b/scripts/r.grow/testsuite/test_r_grow.py @@ -59,10 +59,10 @@ def test_shrink_null(self): """Shrinking of map without NULL values Based on https://github.com/OSGeo/grass/pull/343""" shrinked_string = "56-156" - shrinked = SimpleModule( + shrunk = SimpleModule( "r.grow", input=self.mapNoNULL, output=self.mapShrunkNoNULL, radius=-10 ) - self.assertModule(shrinked) + self.assertModule(shrunk) shrined_range = SimpleModule("r.describe", flags="i", _map=self.mapShrunkNoNULL) self.runModule(shrined_range) diff --git a/scripts/r.reclass.area/testsuite/test_r_reclass_area.py b/scripts/r.reclass.area/testsuite/test_r_reclass_area.py index 1ab6485b7a4..148176f5223 100644 --- a/scripts/r.reclass.area/testsuite/test_r_reclass_area.py +++ b/scripts/r.reclass.area/testsuite/test_r_reclass_area.py @@ -198,7 +198,7 @@ def test_rmarea_lower_upper_vector(self) -> None: self.assertVectorFitsTopoInfo( vector=output_map, reference={"areas": 11, "primitives": 43}, - msg=f"Toplogy of output map {output_map} does not match reference.", + msg=f"Topology of output map {output_map} does not match reference.", ) def test_rmarea_lower_upper_vector_basins(self) -> None: diff --git a/scripts/v.report/v.report.py b/scripts/v.report/v.report.py index acfcbf936a5..ac14c884dbe 100755 --- a/scripts/v.report/v.report.py +++ b/scripts/v.report/v.report.py @@ -84,9 +84,9 @@ def main(): if int(layer) in gs.vector_db(mapname): colnames = gs.vector_columns(mapname, layer, getDict=False, stderr=nuldev) - isConnection = True + is_connected = True else: - isConnection = False + is_connected = False colnames = ["cat"] extracolnames = ["x", "y", "z"] if option == "coor" else [option] @@ -99,7 +99,7 @@ def main(): unitsp = None # NOTE: we suppress -1 cat and 0 cat - if isConnection: + if is_connected: f = gs.vector_db(map=mapname)[int(layer)] p = gs.pipe_command( "v.db.select", flags="e", quiet=True, map=mapname, layer=layer diff --git a/utils/g.md2man/tests/g_md2man_test.py b/utils/g.md2man/tests/g_md2man_test.py index 3592ea43811..655268c325e 100644 --- a/utils/g.md2man/tests/g_md2man_test.py +++ b/utils/g.md2man/tests/g_md2man_test.py @@ -168,7 +168,7 @@ def test_unordered_list_nested(tmp_path): assert rs_index != -1 assert re_index != -1 assert rs_index < re_index - assert ".IP \\(bu 4n" in result[rs_index:re_index] + assert ".IP \\(bu 4n" in result[rs_index:re_index] # codespell:ignore bu def test_wrapped_number_line_is_not_a_list(tmp_path): @@ -196,7 +196,7 @@ def test_ordered_list(tmp_path): def test_list_lazy_continuation_keeps_first_char(tmp_path): # A continuation line indented less than the marker width must not lose - # its leading characters ("Integers" -> "ntegers"). + # its leading characters ("Integers" -> "ntegers"). # codespell:ignore ntegers md = '1. J. Rissanen, "A Universal Prior for\n Integers and Estimation."\n' result = convert(md, tmp_path) assert "Integers and Estimation." in result @@ -206,7 +206,7 @@ def test_table(tmp_path): md = "| Tool | Description |\n|------|-------------|\n| r.info | Info tool |\n" result = convert(md, tmp_path) assert ".TS" in result - assert ".TE" in result # codespell:ignore TE + assert ".TE" in result # codespell:ignore: TE assert "r.info" in result diff --git a/utils/generate_release_notes.py b/utils/generate_release_notes.py index e5a95d684aa..5b0fecf700d 100755 --- a/utils/generate_release_notes.py +++ b/utils/generate_release_notes.py @@ -188,7 +188,7 @@ def print_notes( print("* _Put handcrafted list of 2-15 items here._\n") print_section_heading_2("New Addon Tools", file=file) print( - "* _Put here a list of new addos since last release " + "* _Put here a list of new addons since last release " "or delete the section if there are none._\n" ) print_support(file=file) diff --git a/utils/update_version.py b/utils/update_version.py index c96459342ad..14f35616919 100755 --- a/utils/update_version.py +++ b/utils/update_version.py @@ -235,7 +235,7 @@ def status(args): def suggest_message(args): """Print suggestion for a commit message - Assumes that the version file was changed, but not commited yet, + Assumes that the version file was changed, but not committed yet, but it does not check that assumption. This shows a wrong commit message if going back from RCs, diff --git a/vector/v.db.select/testsuite/test_v_db_select_json_csv.py b/vector/v.db.select/testsuite/test_v_db_select_json_csv.py index e5230f80dd7..b8e0c8cc777 100644 --- a/vector/v.db.select/testsuite/test_v_db_select_json_csv.py +++ b/vector/v.db.select/testsuite/test_v_db_select_json_csv.py @@ -136,25 +136,25 @@ def tearDownClass(cls): def test_csv_loads(self): """Load CSV with difficult values with many separators""" - for delimeter, null_value in itertools.product( + for delimiter, null_value in itertools.product( [None, ",", ";", "\t", "|"], [None, "NULL"] ): text = gs.read_command( "v.db.select", map=self.vector_points, format="csv", - separator=delimeter, + separator=delimiter, null_value=null_value, ) # This covers the defaults for v.db.select. - if delimeter is None: - delimeter = "," + if delimiter is None: + delimiter = "," if null_value is None: null_value = "" io_string = io.StringIO(text) reader = csv.DictReader( io_string, - delimiter=delimeter, + delimiter=delimiter, quotechar='"', doublequote=True, lineterminator="\n", From 06b77cda71c3abf2e647d76c3d7f620e16ba97d7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 10 Oct 2026 16:48:25 +0000 Subject: [PATCH 04/10] checks: Enable codespell for Python and TeX files Remove the Python and TeX types from the codespell exclusions in pre-commit, add the legitimate identifiers and words that codespell flags to the ignore list, and skip the vendored PLY and ctypesgen code. Typo fixes in the rest of this branch were prepared with an AI coding assistant. --- .pre-commit-config.yaml | 2 -- pyproject.toml | 9 +++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cd624a3c0ce..bf7441d430a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -142,5 +142,3 @@ repos: - c - c++ - csv - - python - - tex diff --git a/pyproject.toml b/pyproject.toml index c9b8a7bb24a..a9fc72f50ec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,10 +54,19 @@ ignore-words-list = [ "linke", # Linke turbidity factor parameter "infex", # Infiltration excess parameter "alle", # Italian word in references + "asnd", # Email address username in lib/cdhc/doc/index.sty + "APoints", # Variable name, pairs with BPoints + "cnA", # r.stats flag + "doubleClick", # Event argument name in wxPython code + "expres", # Abbreviated option names tested in parse_mapcalc_cmd doctests + "expressio", # Abbreviated option names tested in parse_mapcalc_cmd doctests + "loner", # Name of a raster map that is not in any dataset in a test ] quiet-level = 3 skip = [ "config.guess", + "python/grass/temporal/ply/*", # Vendored PLY parser + "python/libgrass_interface_generator/*", # Vendored ctypesgen "gui/icons/grass.desktop", "gui/wxpython/xml/grass-gxw.dtd", # TODO "lib/cdhc/doc/goodness.ps", From bba489dc67b26e41b828f9b9d883e5bb76451e78 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 14:03:13 +0000 Subject: [PATCH 05/10] style: Address review of codespell typo fixes - goodness.tex: Use "In this implementation", matching the surrounding text. - grass.temporal: Keep the mapp parameter name of the public create_time_suffix() so keyword callers keep working, and add it to the codespell ignore list. The value is a map dataset object, so map_name was also misleading. - r.grow test: Rename the variables of test_shrink_null consistently, which also removes the shrined typo. - v.report: Name the flag has_table, since it tells whether the layer has an attribute table linked. - g.md2man, g.html2man: Use a lowercase word in the codespell:ignore comments. Codespell only matches lowercase words there, and the "ignore:" form silenced the whole line. - Fix adjacent typos left in the edited lines ("an many", "is stayed") and use names that pair with their counterparts (denominator, name_template). --- lib/cdhc/doc/goodness.tex | 2 +- pyproject.toml | 1 + python/grass/pydispatch/signal.py | 2 +- python/grass/pygrass/modules/grid/grid.py | 8 ++++---- python/grass/temporal/datetime_math.py | 8 ++++---- python/grass/temporal/metadata.py | 8 ++++---- scripts/i.oif/i.oif.py | 4 ++-- scripts/r.grow/testsuite/test_r_grow.py | 12 ++++++------ scripts/v.report/v.report.py | 6 +++--- utils/g.html2man/ggroff.py | 2 +- utils/g.md2man/tests/g_md2man_test.py | 2 +- 11 files changed, 28 insertions(+), 27 deletions(-) diff --git a/lib/cdhc/doc/goodness.tex b/lib/cdhc/doc/goodness.tex index c718d955a10..ac1b87e46cb 100644 --- a/lib/cdhc/doc/goodness.tex +++ b/lib/cdhc/doc/goodness.tex @@ -941,7 +941,7 @@ \section{Chi-Square Test} P\left(x\le x_{\left(i\right)}\right) = \frac{i}{k},\: i=1,2,\ldots,k \end{equation} -In these implementation, only the case of raw data, as opposed +In this implementation, only the case of raw data, as opposed to pre-tabulated data, is considered (i.e., equal probability cells). For testing the normality hypothesis, diff --git a/pyproject.toml b/pyproject.toml index a9fc72f50ec..71be308a430 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,7 @@ ignore-words-list = [ "linke", # Linke turbidity factor parameter "infex", # Infiltration excess parameter "alle", # Italian word in references + "mapp", # Keyword argument name in the public create_time_suffix() API "asnd", # Email address username in lib/cdhc/doc/index.sty "APoints", # Variable name, pairs with BPoints "cnA", # r.stats flag diff --git a/python/grass/pydispatch/signal.py b/python/grass/pydispatch/signal.py index 066e8973be7..ead20e2674a 100644 --- a/python/grass/pydispatch/signal.py +++ b/python/grass/pydispatch/signal.py @@ -206,7 +206,7 @@ def setColor(self, color): Calling a signal from outside the class is usually not good practice. The only case when it is permitted is when signal is the part - of some globally shared object and permission to emit is stayed in the + of some globally shared object and permission to emit is stated in the documentation. The parameters of the emit function must be the same as the parameters diff --git a/python/grass/pygrass/modules/grid/grid.py b/python/grass/pygrass/modules/grid/grid.py index f504cd4068c..24dc965ac43 100644 --- a/python/grass/pygrass/modules/grid/grid.py +++ b/python/grass/pygrass/modules/grid/grid.py @@ -251,7 +251,7 @@ def copy_rasters(rasters, gisrc_src, gisrc_dst, processes, region=None): set_region(region, gisrc_src, gisrc_dst, env) path_dst = os.path.join(*read_gisrc(gisrc_dst)[::-1]) - copy_name = "copy%d__%s" % (id(gisrc_dst), "%s") + name_template = "copy%d__%s" % (id(gisrc_dst), "%s") # instantiate modules mpclc = Module("r.mapcalc") @@ -263,7 +263,7 @@ def copy_rasters(rasters, gisrc_src, gisrc_dst, processes, region=None): rast_clean = rast.split("@")[0] if "@" in rast else rast # change gisdbase to src env["GISRC"] = gisrc_src - name = copy_name % rast_clean + name = name_template % rast_clean mpclc( expression="%s=%s" % (name, rast), nprocs=processes, @@ -293,7 +293,7 @@ def copy_vectors(vectors, gisrc_src, gisrc_dst): """ env = os.environ.copy() path_dst = os.path.join(*read_gisrc(gisrc_dst)) - copy_name = "copy%d__%s" % (id(gisrc_dst), "%s") + name_template = "copy%d__%s" % (id(gisrc_dst), "%s") # instantiate modules vpck = Module("v.pack") @@ -303,7 +303,7 @@ def copy_vectors(vectors, gisrc_src, gisrc_dst): for vect in vectors: # change gisdbase to src env["GISRC"] = gisrc_src - name = copy_name % vect + name = name_template % vect file_dst = "%s.pack" % os.path.join(path_dst, name) vpck(input=name, output=file_dst, overwrite=True, env_=env) remove(flags="f", type="vector", name=name, env_=env) diff --git a/python/grass/temporal/datetime_math.py b/python/grass/temporal/datetime_math.py index c6d923fa731..018c10ba111 100644 --- a/python/grass/temporal/datetime_math.py +++ b/python/grass/temporal/datetime_math.py @@ -965,16 +965,16 @@ def create_suffix_from_datetime(start_time: datetime, granularity: str) -> str: return start_time.strftime(suffix_units[granularity.split(" ", 2)[1]]) -def create_time_suffix(map_name, end: bool = False) -> str: +def create_time_suffix(mapp, end: bool = False) -> str: """Create a datetime string based on a map datetime object - :param map_name: a temporal map dataset + :param mapp: a temporal map dataset :param end: True if you want add also end time to the suffix """ - start = map_name.temporal_extent.get_start_time() + start = mapp.temporal_extent.get_start_time() sstring = start.isoformat().replace(":", "_").replace("-", "_") if end: - end = map_name.temporal_extent.get_end_time() + end = mapp.temporal_extent.get_end_time() estring = end.isoformat().replace(":", "_").replace("-", "_") return "{st}_{en}".format(st=sstring, en=estring) return sstring diff --git a/python/grass/temporal/metadata.py b/python/grass/temporal/metadata.py index 667d3097679..19bfeef54ca 100644 --- a/python/grass/temporal/metadata.py +++ b/python/grass/temporal/metadata.py @@ -1161,7 +1161,7 @@ class STDSRasterMetadataBase(STDSMetadataBase): class for strds and str3ds datasets Most of the metadata values are set by SQL scripts in the database when - new maps are added. Therefore only some set- an many + new maps are added. Therefore only some set- and many get-functions are available. Usage: @@ -1388,7 +1388,7 @@ class STRDSMetadata(STDSRasterMetadataBase): space time raster datasets Most of the metadata values are set by SQL scripts in the database when - new raster maps are added. Therefore only some set- an many + new raster maps are added. Therefore only some set- and many get-functions are available. Usage: @@ -1583,7 +1583,7 @@ class STR3DSMetadata(STDSRasterMetadataBase): space time 3D raster datasets Most of the metadata values are set by SQL scripts in the database when - new 3D raster maps are added. Therefore only some set- an many + new 3D raster maps are added. Therefore only some set- and many get-functions are available. Usage: @@ -1739,7 +1739,7 @@ class STVDSMetadata(STDSMetadataBase): space time vector datasets Most of the metadata values are set by SQL scripts in the database when - new vector maps are added. Therefore only some set- an many get-functions + new vector maps are added. Therefore only some set- and many get-functions are available. Usage: diff --git a/scripts/i.oif/i.oif.py b/scripts/i.oif/i.oif.py index 9608bfd42b6..0f0ee32f9d9 100755 --- a/scripts/i.oif/i.oif.py +++ b/scripts/i.oif/i.oif.py @@ -51,11 +51,11 @@ def oifcalc(sdev, corr, k1, k2, k3): # calculate SUM of absolute(Correlation values): scorr = [corr[k1, k2], corr[k1, k3], corr[k2, k3]] - denom = sum(map(abs, scorr)) + denominator = sum(map(abs, scorr)) # Calculate OIF index: # Divide (SUM of Stddeviations) and (SUM of Correlation) - return numerator / denom + return numerator / denominator def perms(bands): diff --git a/scripts/r.grow/testsuite/test_r_grow.py b/scripts/r.grow/testsuite/test_r_grow.py index 1aee516e861..064549dcffd 100644 --- a/scripts/r.grow/testsuite/test_r_grow.py +++ b/scripts/r.grow/testsuite/test_r_grow.py @@ -58,15 +58,15 @@ def test_shrink(self): def test_shrink_null(self): """Shrinking of map without NULL values Based on https://github.com/OSGeo/grass/pull/343""" - shrinked_string = "56-156" - shrunk = SimpleModule( + expected_range = "56-156" + module = SimpleModule( "r.grow", input=self.mapNoNULL, output=self.mapShrunkNoNULL, radius=-10 ) - self.assertModule(shrunk) + self.assertModule(module) - shrined_range = SimpleModule("r.describe", flags="i", _map=self.mapShrunkNoNULL) - self.runModule(shrined_range) - self.assertLooksLike(shrinked_string, str(shrined_range.outputs.stdout).strip()) + describe = SimpleModule("r.describe", flags="i", _map=self.mapShrunkNoNULL) + self.runModule(describe) + self.assertLooksLike(expected_range, str(describe.outputs.stdout).strip()) def test_grow_small_radius(self): """Grow test for small radius involving scientific notation diff --git a/scripts/v.report/v.report.py b/scripts/v.report/v.report.py index ac14c884dbe..a8b42ccec6d 100755 --- a/scripts/v.report/v.report.py +++ b/scripts/v.report/v.report.py @@ -84,9 +84,9 @@ def main(): if int(layer) in gs.vector_db(mapname): colnames = gs.vector_columns(mapname, layer, getDict=False, stderr=nuldev) - is_connected = True + has_table = True else: - is_connected = False + has_table = False colnames = ["cat"] extracolnames = ["x", "y", "z"] if option == "coor" else [option] @@ -99,7 +99,7 @@ def main(): unitsp = None # NOTE: we suppress -1 cat and 0 cat - if is_connected: + if has_table: f = gs.vector_db(map=mapname)[int(layer)] p = gs.pipe_command( "v.db.select", flags="e", quiet=True, map=mapname, layer=layer diff --git a/utils/g.html2man/ggroff.py b/utils/g.html2man/ggroff.py index 8ab6dc572bb..71bb4bce906 100644 --- a/utils/g.html2man/ggroff.py +++ b/utils/g.html2man/ggroff.py @@ -201,7 +201,7 @@ def pp_table(self, content): 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") # codespell:ignore: TE + self.show("\n.TE\n") # codespell:ignore te def pp_tag(self, tag, content): if self.get("in_tr") and tag not in styles: diff --git a/utils/g.md2man/tests/g_md2man_test.py b/utils/g.md2man/tests/g_md2man_test.py index 655268c325e..4c33369d792 100644 --- a/utils/g.md2man/tests/g_md2man_test.py +++ b/utils/g.md2man/tests/g_md2man_test.py @@ -206,7 +206,7 @@ def test_table(tmp_path): md = "| Tool | Description |\n|------|-------------|\n| r.info | Info tool |\n" result = convert(md, tmp_path) assert ".TS" in result - assert ".TE" in result # codespell:ignore: TE + assert ".TE" in result # codespell:ignore te assert "r.info" in result From 2af89852bcf418c726322aae03e3f238dce01568 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 11 Oct 2026 20:25:53 +0000 Subject: [PATCH 06/10] CI(deps): Update pre-commit hook zizmorcore/zizmor-pre-commit to v1.30.1 (main) (#7988) --- .github/actionlint.yaml | 4 ++++ .github/workflows/additional_checks.yml | 2 +- .github/workflows/pytest.yml | 2 +- .github/workflows/python-code-quality.yml | 4 ++-- .github/workflows/ubuntu.yml | 2 +- .github/workflows/verify-success.yml | 2 +- .pre-commit-config.yaml | 2 +- 7 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index 1b7a4665d2f..8907d1b7a63 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -18,6 +18,10 @@ config-variables: null paths: # .github/workflows/**/*.yml: # ignore: [] + .github/workflows/**/*.yml: + ignore: + - 'reusable workflow call "\$/.+" at "uses" is not following the format' # [workflow-call] + - 'specifying action "\$/.+" in invalid format because ref is missing' # [action] .github/workflows/python-code-quality.yml: ignore: - 'condition "false" is always evaluated to false. remove the if: section' # [if-cond] diff --git a/.github/workflows/additional_checks.yml b/.github/workflows/additional_checks.yml index 9278b2c3e14..33a4153572c 100644 --- a/.github/workflows/additional_checks.yml +++ b/.github/workflows/additional_checks.yml @@ -110,7 +110,7 @@ jobs: id: diff-pre-commit # To run after pre-commit step exits with failure if: ${{ !cancelled() }} - uses: ./.github/actions/create-upload-suggestions + uses: $/.github/actions/create-upload-suggestions with: tool-name: pre-commit # To keep repo's file structure in formatted changes artifact diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index bfd8d77b693..91075125def 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -182,6 +182,6 @@ jobs: needs: - pytest if: ${{ always() }} - uses: ./.github/workflows/verify-success.yml + uses: $/.github/workflows/verify-success.yml with: needs_context: ${{ toJson(needs) }} diff --git a/.github/workflows/python-code-quality.yml b/.github/workflows/python-code-quality.yml index 242068a9f0d..2153fec5463 100644 --- a/.github/workflows/python-code-quality.yml +++ b/.github/workflows/python-code-quality.yml @@ -87,7 +87,7 @@ jobs: id: diff-ruff # To run after ruff step exits with failure when rules don't have fixes available if: ${{ !cancelled() }} - uses: ./.github/actions/create-upload-suggestions + uses: $/.github/actions/create-upload-suggestions with: tool-name: ruff # To keep repo's file structure in formatted changes artifact @@ -208,6 +208,6 @@ jobs: needs: - python-checks if: ${{ always() }} - uses: ./.github/workflows/verify-success.yml + uses: $/.github/workflows/verify-success.yml with: needs_context: ${{ toJson(needs) }} diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index a5896aedabc..fd12c0b2f96 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -201,6 +201,6 @@ jobs: needs: - ubuntu if: ${{ always() }} - uses: ./.github/workflows/verify-success.yml + uses: $/.github/workflows/verify-success.yml with: needs_context: ${{ toJson(needs) }} diff --git a/.github/workflows/verify-success.yml b/.github/workflows/verify-success.yml index 89f1cb11a14..8a1c40c23f6 100644 --- a/.github/workflows/verify-success.yml +++ b/.github/workflows/verify-success.yml @@ -33,7 +33,7 @@ name: Verify Success reusable workflow # - a-job-id # - another-job-id # if: ${{ always() }} -# uses: ./.github/workflows/verify-success.yml +# uses: $/.github/workflows/verify-success.yml # with: # needs_context: ${{ toJson(needs) }} # ``` diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cd624a3c0ce..5d2adc2cdef 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -107,7 +107,7 @@ repos: hooks: - id: actionlint - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: v1.27.0 + rev: v1.30.1 hooks: - id: zizmor args: From be428461c2c5cc508bbc5f615b7263a443e8e2bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Mon, 12 Oct 2026 16:47:41 -0400 Subject: [PATCH 07/10] CI: Install wxPython and optional dependencies in the update-i18n job (#8054) * CI: Install wxPython and optional dependencies in the update-i18n job Install wxPython (python3-wxgtk4.0) and the optional dependencies of the tools listed in the menus (cairo, fftw, freetype, geos, libsvm, netcdf, opengl, postgres), and configure with the matching flags. AI was used to carry out the trivial work, following the author's implementation choices. * CI: Pin periodic_update.yml runner to ubuntu-24.04 --- .github/workflows/periodic_update.yml | 34 +++++++++++++++++++++------ 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/.github/workflows/periodic_update.yml b/.github/workflows/periodic_update.yml index e75b9828e01..47ba453d706 100644 --- a/.github/workflows/periodic_update.yml +++ b/.github/workflows/periodic_update.yml @@ -67,7 +67,7 @@ jobs: STEPS_CPR_OUTPUTS_PULL_REQUEST_URL: ${{ steps.cpr.outputs.pull-request-url }} update-i18n: # The type of runner that the job will run on - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: contents: write @@ -86,16 +86,36 @@ jobs: sudo apt update sudo apt install -y --no-install-recommends --no-install-suggests \ gettext \ + libcairo2-dev \ + libfftw3-dev \ + libfreetype-dev \ libgdal-dev \ - libproj-dev - - name: Configure grass with minimal packages + libgeos-dev \ + libgl-dev \ + libglu1-mesa-dev \ + libnetcdf-dev \ + libpq-dev \ + libproj-dev \ + libsvm-dev \ + python3-wxgtk4.0 + - name: Configure grass with the packages needed for the menu strings + # wxPython is needed to generate the menu strings, and the tools + # that are not built get a placeholder instead of their description. + # Ubuntu 24.04 does not package PDAL or libLAS, so the point cloud + # import and export tools still get the placeholder. run: | ./configure \ + --with-cairo \ + --with-fftw \ + --with-freetype \ + --with-freetype-includes=/usr/include/freetype2 \ + --with-geos \ + --with-libsvm \ + --with-netcdf \ --with-nls \ - --without-cairo \ - --without-fftw \ - --without-freetype \ - --without-opengl \ + --with-opengl \ + --with-postgres \ + --with-postgres-includes=/usr/include/postgresql \ --without-pdal - name: Build grass core run: make -j"$(nproc)" From 76a39c5525d740815bacdd44f3c04f27dd1e5bb2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 20:14:55 -0400 Subject: [PATCH 08/10] locale: Update translation files (133) (#8059) locale: Update translation files Co-authored-by: echoix <27212526+echoix@users.noreply.github.com> --- locale/templates/grasslibs.pot | 36 +- locale/templates/grassmods.pot | 120 +- locale/templates/grasswxpy.pot | 5807 ++++++++++++++++++++++++++++---- 3 files changed, 5284 insertions(+), 679 deletions(-) diff --git a/locale/templates/grasslibs.pot b/locale/templates/grasslibs.pot index 0647950f52c..b64fc129d50 100644 --- a/locale/templates/grasslibs.pot +++ b/locale/templates/grasslibs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-10 19:31+0000\n" +"POT-Creation-Date: 2026-10-13 00:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -5216,7 +5216,7 @@ msgstr "" msgid "Unable to open header file for raster map <%s@%s>. It seems that some previous step failed and created an incomplete raster map." msgstr "" -#: ../lib/raster/get_row.c:35 ../lib/raster/get_row.c:957 +#: ../lib/raster/get_row.c:35 ../lib/raster/get_row.c:969 #, c-format msgid "Reading raster map <%s@%s> request for row %d is outside region" msgstr "" @@ -5241,7 +5241,7 @@ msgstr "" msgid "Invalid raster row offset for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:150 ../lib/raster/get_row.c:194 +#: ../lib/raster/get_row.c:150 ../lib/raster/get_row.c:201 #, c-format msgid "Compressed raster row for <%s> is too large" msgstr "" @@ -5256,48 +5256,58 @@ msgstr "" msgid "Error reading raster data for row %d of <%s>: %s" msgstr "" -#: ../lib/raster/get_row.c:176 ../lib/raster/get_row.c:221 -#: ../lib/raster/get_row.c:225 +#: ../lib/raster/get_row.c:176 ../lib/raster/get_row.c:233 +#: ../lib/raster/get_row.c:237 #, c-format msgid "Error reading raster data for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:201 +#: ../lib/raster/get_row.c:187 +#, c-format +msgid "Invalid byte count in raster data for row %d of <%s>" +msgstr "" + +#: ../lib/raster/get_row.c:208 #, c-format msgid "Error uncompressing raster data for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:267 +#: ../lib/raster/get_row.c:215 +#, c-format +msgid "Raster row for <%s> is larger than expected" +msgstr "" + +#: ../lib/raster/get_row.c:279 #, c-format msgid "Error reading raster data via GDAL for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:878 +#: ../lib/raster/get_row.c:890 #, c-format msgid "Error seeking compressed null data for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:884 ../lib/raster/get_row.c:896 +#: ../lib/raster/get_row.c:896 ../lib/raster/get_row.c:908 #, c-format msgid "Error reading compressed null data for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:902 +#: ../lib/raster/get_row.c:914 #, c-format msgid "Compressed null data for row %d of <%s> is too large" msgstr "" -#: ../lib/raster/get_row.c:906 +#: ../lib/raster/get_row.c:918 #, c-format msgid "Error uncompressing null data for row %d of <%s>" msgstr "" -#: ../lib/raster/get_row.c:940 +#: ../lib/raster/get_row.c:952 #, c-format msgid "Error seeking null row %d for <%s>" msgstr "" -#: ../lib/raster/get_row.c:943 +#: ../lib/raster/get_row.c:955 #, c-format msgid "Error reading null row %d for <%s>" msgstr "" diff --git a/locale/templates/grassmods.pot b/locale/templates/grassmods.pot index 9c11723a9c3..e5b33f16009 100644 --- a/locale/templates/grassmods.pot +++ b/locale/templates/grassmods.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-10 19:31+0000\n" +"POT-Creation-Date: 2026-10-13 00:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -5365,7 +5365,7 @@ msgstr "" #: ../scripts/r.buffer.lowmem/r.buffer.lowmem.py:83 #: ../scripts/r.fillnulls/r.fillnulls.py:149 ../scripts/r.grow/r.grow.py:122 #: ../scripts/r.mask/r.mask.py:148 ../scripts/r.pack/r.pack.py:71 -#: ../scripts/r.reclass.area/r.reclass.area.py:344 ../scripts/r.rgb/r.rgb.py:53 +#: ../scripts/r.reclass.area/r.reclass.area.py:372 ../scripts/r.rgb/r.rgb.py:53 #: ../scripts/v.rast.stats/v.rast.stats.py:151 ../vector/v.colors/main.c:314 #: ../vector/v.vol.rst/main.c:605 #, c-format, python-format @@ -34247,7 +34247,7 @@ msgid "Invalid PROJ.4 output specification" msgstr "" #: ../scripts/m.proj/m.proj.py:206 -msgid "Missing output projection parameters " +msgid "Missing output projection parameters" msgstr "" #: ../scripts/m.proj/m.proj.py:224 @@ -34555,7 +34555,8 @@ msgid "Unable to import data" msgstr "" #: ../scripts/r.in.srtm/r.in.srtm.py:266 -msgid "Done: generated map " +#, python-brace-format +msgid "Done: generated map {map_name}" msgstr "" #: ../scripts/r.in.srtm/r.in.srtm.py:268 @@ -34631,59 +34632,59 @@ msgstr "" msgid "Authorization failed to <%s> when fetching capabilities" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:273 +#: ../scripts/r.in.wms/wms_base.py:275 #, python-brace-format -msgid "Unable to fetch capabilities from <{0}>. Reason: " +msgid "Unable to fetch capabilities from <{url}>. Reason: {reason}" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:312 +#: ../scripts/r.in.wms/wms_base.py:310 #, python-format msgid "" "Unable to open file '%s'.\n" "%s\n" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:354 +#: ../scripts/r.in.wms/wms_base.py:352 msgid "Unable to write data into tempfile" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:372 +#: ../scripts/r.in.wms/wms_base.py:370 #, python-format msgid "Unable to determine region, %s failed" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:376 +#: ../scripts/r.in.wms/wms_base.py:374 msgid "Region definition: 4 points required" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:382 +#: ../scripts/r.in.wms/wms_base.py:380 msgid "Reprojection of region using m.proj failed." msgstr "" -#: ../scripts/r.in.wms/wms_base.py:422 +#: ../scripts/r.in.wms/wms_base.py:420 msgid "Reprojecting raster..." msgstr "" -#: ../scripts/r.in.wms/wms_base.py:481 ../scripts/r.in.wms/wms_base.py:583 -#: ../scripts/r.in.wms/wms_base.py:614 ../scripts/r.in.wms/wms_base.py:655 +#: ../scripts/r.in.wms/wms_base.py:479 ../scripts/r.in.wms/wms_base.py:581 +#: ../scripts/r.in.wms/wms_base.py:612 ../scripts/r.in.wms/wms_base.py:653 #, python-format msgid "%s failed" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:498 +#: ../scripts/r.in.wms/wms_base.py:496 msgid "Unable to create temporary files" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:523 +#: ../scripts/r.in.wms/wms_base.py:521 #, python-format msgid "Please change output name, or change names of these rasters: %s, module needs to create this temporary maps during execution." msgstr "" -#: ../scripts/r.in.wms/wms_base.py:560 +#: ../scripts/r.in.wms/wms_base.py:558 msgid "WMS import failed, nothing imported" msgstr "" -#: ../scripts/r.in.wms/wms_base.py:567 +#: ../scripts/r.in.wms/wms_base.py:565 #, python-format msgid "<%s> created." msgstr "" @@ -34807,8 +34808,8 @@ msgid "Driver %s does not supports Create() method" msgstr "" #: ../scripts/r.in.wms/wms_drv.py:283 -#, python-format -msgid "Unable to open %s " +#, python-brace-format +msgid "Unable to open {filename}" msgstr "" #: ../scripts/r.in.wms/wms_drv.py:362 @@ -35022,43 +35023,68 @@ msgstr "" msgid "xy-locations are not supported" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:174 +#: ../scripts/r.reclass.area/r.reclass.area.py:176 +#, python-brace-format +msgid "Generating a clumped raster file including diagonal neighbors with minimum {pixel_count} pixels" +msgstr "" + +#: ../scripts/r.reclass.area/r.reclass.area.py:180 +msgid "Generating a clumped raster file including diagonal neighbors" +msgstr "" + +#: ../scripts/r.reclass.area/r.reclass.area.py:183 +#, python-brace-format +msgid "Generating a clumped raster file with minimum {pixel_count} pixels" +msgstr "" + +#: ../scripts/r.reclass.area/r.reclass.area.py:186 msgid "Generating a clumped raster file" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:176 -msgid " including diagonal neighbors" +#: ../scripts/r.reclass.area/r.reclass.area.py:214 +#, python-brace-format +msgid "Generating a reclass map with area size larger than or equal to {lower} hectares and smaller than or equal to {upper} hectares..." msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:178 -#, python-format -msgid " with minimum %s pixels" +#: ../scripts/r.reclass.area/r.reclass.area.py:218 +#, python-brace-format +msgid "No areas of size larger than or equal to {lower} hectares and smaller than or equal to {upper} hectares" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:201 -msgid "Generating a reclass map with area size" +#: ../scripts/r.reclass.area/r.reclass.area.py:223 +#, python-brace-format +msgid "Generating a reclass map with area size larger than or equal to {lower} hectares..." msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:206 -#, python-format -msgid " larger than or equal to %f hectares..." +#: ../scripts/r.reclass.area/r.reclass.area.py:227 +#, python-brace-format +msgid "No areas of size larger than or equal to {lower} hectares" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:214 -#, python-format -msgid " smaller than or equal to %f hectares..." +#: ../scripts/r.reclass.area/r.reclass.area.py:231 +#, python-brace-format +msgid "Generating a reclass map with area size smaller than or equal to {upper} hectares..." +msgstr "" + +#: ../scripts/r.reclass.area/r.reclass.area.py:235 +#, python-brace-format +msgid "No areas of size smaller than or equal to {upper} hectares" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:254 -msgid "No areas of size " +#: ../scripts/r.reclass.area/r.reclass.area.py:239 +msgid "Generating a reclass map without area size limits..." msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:272 +#: ../scripts/r.reclass.area/r.reclass.area.py:240 +msgid "No areas found" +msgstr "" + +#: ../scripts/r.reclass.area/r.reclass.area.py:300 #, python-format msgid "Raster map <%s> is not of type 'CELL'. Results may not be as expected." msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:353 +#: ../scripts/r.reclass.area/r.reclass.area.py:381 msgid "Options and are deprecated. Use 'lower' and/or 'upper'." msgstr "" @@ -35851,21 +35877,17 @@ msgstr "" msgid "Not all vector categories converted to raster. Converted {0} of {1}." msgstr "" -#: ../scripts/v.rast.stats/v.rast.stats.py:414 -#, python-format -msgid "Cannot create column <%s> (already present). " -msgstr "" - #: ../scripts/v.rast.stats/v.rast.stats.py:415 -msgid "Use -c flag to update values in this column." +#, python-brace-format +msgid "Cannot create column <{column}> (already present). Use -c flag to update values in this column." msgstr "" -#: ../scripts/v.rast.stats/v.rast.stats.py:422 +#: ../scripts/v.rast.stats/v.rast.stats.py:424 #, python-format msgid "Adding columns '%s'" msgstr "" -#: ../scripts/v.rast.stats/v.rast.stats.py:426 +#: ../scripts/v.rast.stats/v.rast.stats.py:428 msgid "Adding columns failed. Exiting." msgstr "" @@ -36005,11 +36027,11 @@ msgid "Unable to add table <%s> to vector map <%s>" msgstr "" #: ../scripts/v.what.strds/v.what.strds.py:263 -#, python-format -msgid "Unable to add column %s to vector map <%s> " +#, python-brace-format +msgid "Unable to add column {column} to vector map <{vector}>" msgstr "" -#: ../scripts/v.what.strds/v.what.strds.py:279 +#: ../scripts/v.what.strds/v.what.strds.py:280 #, python-format msgid "Unable to run v.what.rast for vector map <%s> and raster map <%s>" msgstr "" diff --git a/locale/templates/grasswxpy.pot b/locale/templates/grasswxpy.pot index ebcbcba3c76..c21328004df 100644 --- a/locale/templates/grasswxpy.pot +++ b/locale/templates/grasswxpy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-10 19:31+0000\n" +"POT-Creation-Date: 2026-10-13 00:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -321,7 +321,7 @@ msgstr "" msgid "List of animations" msgstr "" -#: ../gui/wxpython/animation/dialogs.py:784 ../gui/wxpython/dbmgr/base.py:2433 +#: ../gui/wxpython/animation/dialogs.py:784 ../gui/wxpython/dbmgr/base.py:2429 #: ../gui/wxpython/psmap/dialogs.py:1824 msgid "Add" msgstr "" @@ -334,7 +334,8 @@ msgstr "" #: ../gui/wxpython/animation/dialogs.py:1030 #: ../gui/wxpython/gmodeler/canvas.py:320 #: ../gui/wxpython/gui_core/simplelmgr.py:513 -#: ../gui/wxpython/lmgr/layertree.py:522 ../gui/wxpython/rlisetup/frame.py:153 +#: ../gui/wxpython/lmgr/layertree.py:522 ../gui/wxpython/menustrings.py:1052 +#: ../gui/wxpython/menustrings.py:2113 ../gui/wxpython/rlisetup/frame.py:153 msgid "Remove" msgstr "" @@ -353,16 +354,18 @@ msgid "Decorations" msgstr "" #: ../gui/wxpython/animation/dialogs.py:955 -#: ../gui/wxpython/lmgr/layertree.py:843 ../gui/wxpython/tplot/frame.py:392 +#: ../gui/wxpython/lmgr/layertree.py:843 ../gui/wxpython/menustrings.py:1084 +#: ../gui/wxpython/menustrings.py:2145 ../gui/wxpython/tplot/frame.py:392 msgid "Export" msgstr "" #: ../gui/wxpython/animation/dialogs.py:1016 +#: ../gui/wxpython/menustrings.py:2356 msgid "Add image" msgstr "" #: ../gui/wxpython/animation/dialogs.py:1016 -#: ../gui/wxpython/mapdisp/toolbars.py:51 +#: ../gui/wxpython/mapdisp/toolbars.py:51 ../gui/wxpython/menustrings.py:2354 msgid "Add text" msgstr "" @@ -522,14 +525,14 @@ msgid "Export directory is missing." msgstr "" #: ../gui/wxpython/animation/dialogs.py:1520 -#: ../gui/wxpython/psmap/dialogs.py:5718 ../gui/wxpython/psmap/dialogs.py:5781 -#: ../gui/wxpython/psmap/toolbars.py:99 +#: ../gui/wxpython/menustrings.py:2355 ../gui/wxpython/psmap/dialogs.py:5718 +#: ../gui/wxpython/psmap/dialogs.py:5781 ../gui/wxpython/psmap/toolbars.py:99 msgid "Image" msgstr "" #: ../gui/wxpython/animation/dialogs.py:1520 -#: ../gui/wxpython/psmap/dialogs.py:5211 ../gui/wxpython/psmap/dialogs.py:5216 -#: ../gui/wxpython/psmap/toolbars.py:95 +#: ../gui/wxpython/menustrings.py:2353 ../gui/wxpython/psmap/dialogs.py:5211 +#: ../gui/wxpython/psmap/dialogs.py:5216 ../gui/wxpython/psmap/toolbars.py:95 msgid "Text" msgstr "" @@ -552,7 +555,7 @@ msgid "Exported animation file <{file}> exists. Do you want to overwrite it?" msgstr "" #: ../gui/wxpython/animation/dialogs.py:1572 -#: ../gui/wxpython/datacatalog/tree.py:263 ../gui/wxpython/gcp/manager.py:1735 +#: ../gui/wxpython/datacatalog/tree.py:263 ../gui/wxpython/gcp/manager.py:1738 #: ../gui/wxpython/gui_core/dialogs.py:529 #: ../gui/wxpython/lmgr/layertree.py:1158 #: ../gui/wxpython/modules/colorrules.py:673 @@ -748,7 +751,7 @@ msgstr "" #: ../gui/wxpython/animation/temporal_manager.py:247 #: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77 -#: ../gui/wxpython/timeline/frame.py:496 ../gui/wxpython/tplot/frame.py:1161 +#: ../gui/wxpython/timeline/frame.py:496 ../gui/wxpython/tplot/frame.py:1163 #, python-format msgid "Space time dataset <%s> not found." msgstr "" @@ -891,8 +894,8 @@ msgstr "" msgid "Execution failed:" msgstr "" -#: ../gui/wxpython/core/gcmd.py:437 ../gui/wxpython/core/render.py:1089 -#: ../gui/wxpython/core/render.py:1096 ../gui/wxpython/core/render.py:1103 +#: ../gui/wxpython/core/gcmd.py:437 ../gui/wxpython/core/render.py:1090 +#: ../gui/wxpython/core/render.py:1097 ../gui/wxpython/core/render.py:1104 msgid "Details:" msgstr "" @@ -993,55 +996,57 @@ msgstr "" msgid "Rendering aborted" msgstr "" -#: ../gui/wxpython/core/render.py:772 -msgid "Downloading data " +#: ../gui/wxpython/core/render.py:774 +#, python-brace-format +msgid "Rendering & downloading data {layers}..." msgstr "" -#: ../gui/wxpython/core/render.py:781 -msgid "Rendering & " +#: ../gui/wxpython/core/render.py:778 +msgid "Rendering..." msgstr "" -#: ../gui/wxpython/core/render.py:781 -msgid "Rendering..." +#: ../gui/wxpython/core/render.py:780 +#, python-brace-format +msgid "Downloading data {layers}..." msgstr "" -#: ../gui/wxpython/core/render.py:824 +#: ../gui/wxpython/core/render.py:825 msgid "Trying to recover from default region..." msgstr "" -#: ../gui/wxpython/core/render.py:849 +#: ../gui/wxpython/core/render.py:850 #, python-format msgid "GRASS tool '%s' not found. Unable to start map display window." msgstr "" -#: ../gui/wxpython/core/render.py:888 +#: ../gui/wxpython/core/render.py:889 #, python-format msgid "" "\n" "ERROR: Unable to read WIND file: %s\n" msgstr "" -#: ../gui/wxpython/core/render.py:895 +#: ../gui/wxpython/core/render.py:896 #, python-format msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n" msgstr "" -#: ../gui/wxpython/core/render.py:1087 +#: ../gui/wxpython/core/render.py:1088 #, python-format msgid "Unable to zoom to raster map <%s>." msgstr "" -#: ../gui/wxpython/core/render.py:1094 +#: ../gui/wxpython/core/render.py:1095 #, python-format msgid "Unable to zoom to vector map <%s>." msgstr "" -#: ../gui/wxpython/core/render.py:1101 +#: ../gui/wxpython/core/render.py:1102 #, python-format msgid "Unable to zoom to 3d raster map <%s>." msgstr "" -#: ../gui/wxpython/core/render.py:1108 +#: ../gui/wxpython/core/render.py:1109 msgid "Unable to get current geographic extent. Force quitting wxGUI. Please manually run g.region to fix the problem." msgstr "" @@ -1077,7 +1082,7 @@ msgstr "" msgid "Expand all" msgstr "" -#: ../gui/wxpython/core/settings.py:797 ../gui/wxpython/dbmgr/base.py:1453 +#: ../gui/wxpython/core/settings.py:797 ../gui/wxpython/dbmgr/base.py:1451 msgid "Edit selected record" msgstr "" @@ -1222,10 +1227,11 @@ msgid "" msgstr "" #: ../gui/wxpython/core/settings.py:1113 -msgid "Unable to set " +#, python-brace-format +msgid "Unable to set '{group}:{key}:{subkey}'" msgstr "" -#: ../gui/wxpython/core/settings.py:1151 ../gui/wxpython/core/settings.py:1172 +#: ../gui/wxpython/core/settings.py:1153 ../gui/wxpython/core/settings.py:1174 #, python-format msgid "Unable to parse settings '%s'" msgstr "" @@ -1251,7 +1257,14 @@ msgstr "" msgid "Addons" msgstr "" -#: ../gui/wxpython/core/toolboxes.py:615 +#: ../gui/wxpython/core/toolboxes.py:615 ../gui/wxpython/menustrings.py:62 +#: ../gui/wxpython/menustrings.py:64 ../gui/wxpython/menustrings.py:91 +#: ../gui/wxpython/menustrings.py:93 ../gui/wxpython/menustrings.py:106 +#: ../gui/wxpython/menustrings.py:159 ../gui/wxpython/menustrings.py:821 +#: ../gui/wxpython/menustrings.py:1200 ../gui/wxpython/menustrings.py:1202 +#: ../gui/wxpython/menustrings.py:1229 ../gui/wxpython/menustrings.py:1231 +#: ../gui/wxpython/menustrings.py:1244 ../gui/wxpython/menustrings.py:1297 +#: ../gui/wxpython/menustrings.py:1882 ../gui/wxpython/menustrings.py:2227 msgid "Module not installed" msgstr "" @@ -1399,6 +1412,7 @@ msgid "Import space time vector dataset [t.vect.import]" msgstr "" #: ../gui/wxpython/datacatalog/catalog.py:377 +#: ../gui/wxpython/menustrings.py:174 ../gui/wxpython/menustrings.py:1312 msgid "Link external data" msgstr "" @@ -1442,7 +1456,7 @@ msgstr "" msgid "Maximum segment length:" msgstr "" -#: ../gui/wxpython/datacatalog/frame.py:29 +#: ../gui/wxpython/datacatalog/frame.py:29 ../gui/wxpython/menustrings.py:2232 msgid "Data Catalog" msgstr "" @@ -1472,11 +1486,13 @@ msgid "" msgstr "" #: ../gui/wxpython/datacatalog/infomanager.py:52 +#: ../gui/wxpython/menustrings.py:71 ../gui/wxpython/menustrings.py:1209 #: ../gui/wxpython/modules/import_export.py:600 msgid "Import vector data" msgstr "" #: ../gui/wxpython/datacatalog/infomanager.py:53 +#: ../gui/wxpython/menustrings.py:36 ../gui/wxpython/menustrings.py:1174 #: ../gui/wxpython/modules/import_export.py:436 msgid "Import raster data" msgstr "" @@ -1894,7 +1910,8 @@ msgstr "" msgid "&Unregister maps" msgstr "" -#: ../gui/wxpython/datacatalog/tree.py:2945 +#: ../gui/wxpython/datacatalog/tree.py:2945 ../gui/wxpython/menustrings.py:1054 +#: ../gui/wxpython/menustrings.py:2115 msgid "Update metadata" msgstr "" @@ -1966,7 +1983,7 @@ msgid "&Delete" msgstr "" #. GTC Rename mapset -#: ../gui/wxpython/datacatalog/tree.py:3065 ../gui/wxpython/dbmgr/base.py:2488 +#: ../gui/wxpython/datacatalog/tree.py:3065 ../gui/wxpython/dbmgr/base.py:2484 #: ../gui/wxpython/image2target/ii2t_gis_set.py:233 msgid "&Rename" msgstr "" @@ -2128,8 +2145,8 @@ msgid "Viewing limit: 100000 records." msgstr "" #: ../gui/wxpython/dbmgr/base.py:373 ../gui/wxpython/dbmgr/base.py:970 -#: ../gui/wxpython/dbmgr/base.py:1138 ../gui/wxpython/dbmgr/base.py:1492 -#: ../gui/wxpython/dbmgr/base.py:2173 ../gui/wxpython/dbmgr/manager.py:235 +#: ../gui/wxpython/dbmgr/base.py:1138 ../gui/wxpython/dbmgr/base.py:1490 +#: ../gui/wxpython/dbmgr/base.py:2171 ../gui/wxpython/dbmgr/manager.py:235 #, python-format msgid "Number of loaded records: %d" msgstr "" @@ -2170,7 +2187,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:528 ../gui/wxpython/dbmgr/base.py:2379 +#: ../gui/wxpython/dbmgr/base.py:528 ../gui/wxpython/dbmgr/base.py:2375 #: ../gui/wxpython/modules/colorrules.py:1127 msgid "Add column" msgstr "" @@ -2229,151 +2246,151 @@ msgstr "" msgid "Attribute data - right-click to edit/manage records" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1187 ../gui/wxpython/dbmgr/base.py:2332 -#: ../gui/wxpython/dbmgr/base.py:3049 ../gui/wxpython/dbmgr/base.py:3212 -#: ../gui/wxpython/dbmgr/base.py:3481 +#: ../gui/wxpython/dbmgr/base.py:1187 ../gui/wxpython/dbmgr/base.py:2330 +#: ../gui/wxpython/dbmgr/base.py:3045 ../gui/wxpython/dbmgr/base.py:3208 +#: ../gui/wxpython/dbmgr/base.py:3477 msgid "Table" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1189 ../gui/wxpython/dbmgr/base.py:2334 -msgid " (read-only)" +#: ../gui/wxpython/dbmgr/base.py:1187 ../gui/wxpython/dbmgr/base.py:2330 +msgid "Table (read-only)" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1206 +#: ../gui/wxpython/dbmgr/base.py:1204 msgid "SQL Query" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1230 +#: ../gui/wxpython/dbmgr/base.py:1228 msgid "Simple" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1233 +#: ../gui/wxpython/dbmgr/base.py:1231 msgid "Apply SELECT statement and reload data records" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1263 ../gui/wxpython/dbmgr/base.py:1289 +#: ../gui/wxpython/dbmgr/base.py:1261 ../gui/wxpython/dbmgr/base.py:1287 #: ../gui/wxpython/dbmgr/sqlbuilder.py:496 #, python-format msgid "Example: %s" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1274 +#: ../gui/wxpython/dbmgr/base.py:1272 msgid "Builder" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1277 +#: ../gui/wxpython/dbmgr/base.py:1275 msgid "SQL Builder" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1461 ../gui/wxpython/dbmgr/base.py:1643 +#: ../gui/wxpython/dbmgr/base.py:1459 ../gui/wxpython/dbmgr/base.py:1641 msgid "Insert new record" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1462 +#: ../gui/wxpython/dbmgr/base.py:1460 msgid "Delete selected record(s)" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1463 +#: ../gui/wxpython/dbmgr/base.py:1461 msgid "Delete all records" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1469 ../gui/wxpython/gui_core/dialogs.py:836 +#: ../gui/wxpython/dbmgr/base.py:1467 ../gui/wxpython/gui_core/dialogs.py:836 #: ../gui/wxpython/gui_core/dialogs.py:894 #: ../gui/wxpython/gui_core/dialogs.py:1605 #: ../gui/wxpython/gui_core/widgets.py:1152 msgid "Select all" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1470 ../gui/wxpython/gui_core/dialogs.py:1607 +#: ../gui/wxpython/dbmgr/base.py:1468 ../gui/wxpython/gui_core/dialogs.py:1607 #: ../gui/wxpython/gui_core/widgets.py:1153 msgid "Deselect all" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1472 +#: ../gui/wxpython/dbmgr/base.py:1470 #: ../gui/wxpython/gui_core/preferences.py:1643 msgid "Highlight selected features" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1473 +#: ../gui/wxpython/dbmgr/base.py:1471 msgid "Highlight selected features and zoom" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1477 ../gui/wxpython/dbmgr/base.py:2004 +#: ../gui/wxpython/dbmgr/base.py:1475 ../gui/wxpython/dbmgr/base.py:2002 msgid "Extract selected features" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1478 +#: ../gui/wxpython/dbmgr/base.py:1476 msgid "Delete selected features" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1486 ../gui/wxpython/dbmgr/base.py:2669 +#: ../gui/wxpython/dbmgr/base.py:1484 ../gui/wxpython/dbmgr/base.py:2665 #: ../gui/wxpython/gmodeler/dialogs.py:923 #: ../gui/wxpython/gmodeler/dialogs.py:1077 #: ../gui/wxpython/vdigit/dialogs.py:304 msgid "Reload" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1539 +#: ../gui/wxpython/dbmgr/base.py:1537 msgid "Update existing record" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1567 ../gui/wxpython/dbmgr/base.py:1682 +#: ../gui/wxpython/dbmgr/base.py:1565 ../gui/wxpython/dbmgr/base.py:1680 #, python-format msgid "Value '%(value)s' needs to be entered as %(type)s." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1582 +#: ../gui/wxpython/dbmgr/base.py:1580 #, python-format msgid "" "Unable to update existing record.\n" "%s" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1657 +#: ../gui/wxpython/dbmgr/base.py:1655 #, python-format msgid "Record with category number %d already exists in the table." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1669 +#: ../gui/wxpython/dbmgr/base.py:1667 #, python-format msgid "Category number (column %s) is missing." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1690 +#: ../gui/wxpython/dbmgr/base.py:1688 #, python-format msgid "Column '%(column)s' does not exist." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1705 +#: ../gui/wxpython/dbmgr/base.py:1703 #, python-format msgid "" "Unable to insert new record.\n" "%s" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1756 +#: ../gui/wxpython/dbmgr/base.py:1754 #, python-format msgid "Selected data records (%d) will be permanently deleted from table. Do you want to delete them?" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1760 ../gui/wxpython/dbmgr/base.py:1810 +#: ../gui/wxpython/dbmgr/base.py:1758 ../gui/wxpython/dbmgr/base.py:1808 msgid "Delete records" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1806 +#: ../gui/wxpython/dbmgr/base.py:1804 #, python-format msgid "All data records (%d) will be permanently deleted from table. Do you want to delete them?" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:1999 +#: ../gui/wxpython/dbmgr/base.py:1997 msgid "Nothing to extract." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2039 +#: ../gui/wxpython/dbmgr/base.py:2037 msgid "Nothing to delete." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2118 ../gui/wxpython/dbmgr/base.py:2154 +#: ../gui/wxpython/dbmgr/base.py:2116 ../gui/wxpython/dbmgr/base.py:2152 #, python-format msgid "" "Loading attribute data failed.\n" @@ -2381,7 +2398,7 @@ msgid "" "%s" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2134 +#: ../gui/wxpython/dbmgr/base.py:2132 #, python-format msgid "" "Loading attribute data failed.\n" @@ -2390,69 +2407,70 @@ msgid "" "%s" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2351 ../gui/wxpython/dbmgr/sqlbuilder.py:103 +#: ../gui/wxpython/dbmgr/base.py:2347 ../gui/wxpython/dbmgr/sqlbuilder.py:103 msgid "Database connection" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2368 +#: ../gui/wxpython/dbmgr/base.py:2364 #, python-format msgid "Table <%s> - right-click to delete column(s)" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2393 ../gui/wxpython/dbmgr/base.py:2455 +#: ../gui/wxpython/dbmgr/base.py:2389 ../gui/wxpython/dbmgr/base.py:2451 #: ../gui/wxpython/dbmgr/dialogs.py:800 msgid "Column" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2411 ../gui/wxpython/dbmgr/dialogs.py:812 +#: ../gui/wxpython/dbmgr/base.py:2407 ../gui/wxpython/dbmgr/dialogs.py:812 #: ../gui/wxpython/gmodeler/preferences.py:287 msgid "Type" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2425 ../gui/wxpython/dbmgr/dialogs.py:823 +#: ../gui/wxpython/dbmgr/base.py:2421 ../gui/wxpython/dbmgr/dialogs.py:823 msgid "Length" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2441 +#: ../gui/wxpython/dbmgr/base.py:2437 ../gui/wxpython/menustrings.py:1034 +#: ../gui/wxpython/menustrings.py:2095 msgid "Rename column" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2477 ../gui/wxpython/gmodeler/dialogs.py:386 +#: ../gui/wxpython/dbmgr/base.py:2473 ../gui/wxpython/gmodeler/dialogs.py:386 msgid "To" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2595 +#: ../gui/wxpython/dbmgr/base.py:2591 msgid "Unable to rename column. No column name defined." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2604 +#: ../gui/wxpython/dbmgr/base.py:2600 #, python-format msgid "Unable to rename column <%(column)s> to <%(columnTo)s>. Column already exists in the table <%(table)s>." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2627 +#: ../gui/wxpython/dbmgr/base.py:2623 #, python-format msgid "Unable to rename column. Column <%(column)s> doesn't exist in the table <%(table)s>." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2659 +#: ../gui/wxpython/dbmgr/base.py:2655 msgid "Drop selected column" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2667 +#: ../gui/wxpython/dbmgr/base.py:2663 msgid "Drop all columns" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2697 +#: ../gui/wxpython/dbmgr/base.py:2693 #, python-format msgid "Selected %s will PERMANENTLY removed from table. Do you want to drop the column?" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2701 ../gui/wxpython/dbmgr/base.py:2750 +#: ../gui/wxpython/dbmgr/base.py:2697 ../gui/wxpython/dbmgr/base.py:2746 msgid "Drop column(s)" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2746 +#: ../gui/wxpython/dbmgr/base.py:2742 #, python-format msgid "" "Selected columns\n" @@ -2460,158 +2478,158 @@ msgid "" "will PERMANENTLY removed from table. Do you want to drop the columns?" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2868 +#: ../gui/wxpython/dbmgr/base.py:2864 msgid "List of layers" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2947 ../gui/wxpython/dbmgr/base.py:3401 -#: ../gui/wxpython/dbmgr/base.py:3868 +#: ../gui/wxpython/dbmgr/base.py:2943 ../gui/wxpython/dbmgr/base.py:3397 +#: ../gui/wxpython/dbmgr/base.py:3864 #, python-format msgid "Drop also linked attribute table (%s)" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2991 +#: ../gui/wxpython/dbmgr/base.py:2987 msgid "Column name" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2991 +#: ../gui/wxpython/dbmgr/base.py:2987 msgid "Data length" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:2991 ../gui/wxpython/gmodeler/panels.py:1365 +#: ../gui/wxpython/dbmgr/base.py:2987 ../gui/wxpython/gmodeler/panels.py:1365 #: ../gui/wxpython/gmodeler/panels.py:1421 msgid "Data type" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3049 ../gui/wxpython/dbmgr/base.py:3201 -#: ../gui/wxpython/dbmgr/base.py:3469 ../gui/wxpython/gui_core/gselect.py:1481 +#: ../gui/wxpython/dbmgr/base.py:3045 ../gui/wxpython/dbmgr/base.py:3197 +#: ../gui/wxpython/dbmgr/base.py:3465 ../gui/wxpython/gui_core/gselect.py:1481 msgid "Database" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3049 ../gui/wxpython/dbmgr/base.py:3190 -#: ../gui/wxpython/dbmgr/base.py:3458 +#: ../gui/wxpython/dbmgr/base.py:3045 ../gui/wxpython/dbmgr/base.py:3186 +#: ../gui/wxpython/dbmgr/base.py:3454 msgid "Driver" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3049 +#: ../gui/wxpython/dbmgr/base.py:3045 msgid "Key" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3049 ../gui/wxpython/dbmgr/base.py:3177 -#: ../gui/wxpython/dbmgr/base.py:3446 ../gui/wxpython/dbmgr/dialogs.py:507 +#: ../gui/wxpython/dbmgr/base.py:3045 ../gui/wxpython/dbmgr/base.py:3173 +#: ../gui/wxpython/dbmgr/base.py:3442 ../gui/wxpython/dbmgr/dialogs.py:507 #: ../gui/wxpython/vdigit/dialogs.py:125 ../gui/wxpython/vdigit/dialogs.py:571 #: ../gui/wxpython/vdigit/preferences.py:527 msgid "Layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3157 +#: ../gui/wxpython/dbmgr/base.py:3153 msgid "Add layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3167 +#: ../gui/wxpython/dbmgr/base.py:3163 msgid "Layer description" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3223 ../gui/wxpython/dbmgr/base.py:3286 -#: ../gui/wxpython/dbmgr/base.py:3492 +#: ../gui/wxpython/dbmgr/base.py:3219 ../gui/wxpython/dbmgr/base.py:3282 +#: ../gui/wxpython/dbmgr/base.py:3488 msgid "Key column" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3236 +#: ../gui/wxpython/dbmgr/base.py:3232 msgid "Insert record for each category into table" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3259 +#: ../gui/wxpython/dbmgr/base.py:3255 msgid "You need to add categories by v.category module." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3264 +#: ../gui/wxpython/dbmgr/base.py:3260 msgid "Table description" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3275 +#: ../gui/wxpython/dbmgr/base.py:3271 msgid "Table name" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3300 +#: ../gui/wxpython/dbmgr/base.py:3296 msgid "&Create table" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3303 +#: ../gui/wxpython/dbmgr/base.py:3299 #: ../gui/wxpython/web_services/dialogs.py:532 msgid "&Add layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3306 +#: ../gui/wxpython/dbmgr/base.py:3302 msgid "&Set default" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3375 +#: ../gui/wxpython/dbmgr/base.py:3371 msgid "Remove layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3378 +#: ../gui/wxpython/dbmgr/base.py:3374 msgid "Layer to remove" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3409 +#: ../gui/wxpython/dbmgr/base.py:3405 msgid "&Remove layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3438 +#: ../gui/wxpython/dbmgr/base.py:3434 msgid "Modify layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3541 +#: ../gui/wxpython/dbmgr/base.py:3537 msgid "&Modify layer" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3584 +#: ../gui/wxpython/dbmgr/base.py:3580 msgid "" "Unable to get list of tables.\n" "Please use db.connect to set database parameters." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3690 +#: ../gui/wxpython/dbmgr/base.py:3686 msgid "Unable to create new table. Table name or key column name is missing." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3700 +#: ../gui/wxpython/dbmgr/base.py:3696 #, python-format msgid "Unable to create new table. Table <%s> already exists in the database." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3745 +#: ../gui/wxpython/dbmgr/base.py:3741 #, python-format msgid "Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already exists." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3933 +#: ../gui/wxpython/dbmgr/base.py:3929 msgid "Field statistics" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:3956 +#: ../gui/wxpython/dbmgr/base.py:3952 msgid "Copy statistics the clipboard (Ctrl+C)" msgstr "" -#: ../gui/wxpython/dbmgr/base.py:4017 +#: ../gui/wxpython/dbmgr/base.py:4013 msgid "Statistics is not support for DBF tables." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:4094 +#: ../gui/wxpython/dbmgr/base.py:4090 msgid "Unable to calculate statistics." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:4103 +#: ../gui/wxpython/dbmgr/base.py:4099 #, python-format msgid "Unable to calculate statistics. Invalid number of lines %d (should be %d)." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:4130 +#: ../gui/wxpython/dbmgr/base.py:4126 msgid "Unable to calculate standard deviation." msgstr "" -#: ../gui/wxpython/dbmgr/base.py:4138 +#: ../gui/wxpython/dbmgr/base.py:4134 #, python-format msgid "Field statistics <%s>" msgstr "" @@ -2636,7 +2654,8 @@ msgstr "" msgid "No attributes found" msgstr "" -#: ../gui/wxpython/dbmgr/dialogs.py:124 +#: ../gui/wxpython/dbmgr/dialogs.py:124 ../gui/wxpython/menustrings.py:754 +#: ../gui/wxpython/menustrings.py:1815 msgid "Update attributes" msgstr "" @@ -2736,7 +2755,8 @@ msgstr "" msgid "Reload all attribute data (drop current selection)" msgstr "" -#: ../gui/wxpython/dbmgr/sqlbuilder.py:117 +#: ../gui/wxpython/dbmgr/sqlbuilder.py:117 ../gui/wxpython/menustrings.py:1014 +#: ../gui/wxpython/menustrings.py:2075 msgid "Query" msgstr "" @@ -2932,7 +2952,7 @@ msgstr "" msgid "Add vector map to group..." msgstr "" -#: ../gui/wxpython/gcp/manager.py:590 ../gui/wxpython/gcp/manager.py:3187 +#: ../gui/wxpython/gcp/manager.py:590 ../gui/wxpython/gcp/manager.py:3190 #: ../gui/wxpython/image2target/ii2t_manager.py:611 #: ../gui/wxpython/image2target/ii2t_manager.py:3147 #: ../gui/wxpython/photo2image/ip2i_manager.py:2281 @@ -2962,21 +2982,21 @@ msgstr "" msgid "Map Display Web Service Layer(s)" msgstr "" -#: ../gui/wxpython/gcp/manager.py:753 ../gui/wxpython/gcp/manager.py:3080 +#: ../gui/wxpython/gcp/manager.py:753 ../gui/wxpython/gcp/manager.py:3083 #: ../gui/wxpython/image2target/ii2t_manager.py:760 #: ../gui/wxpython/image2target/ii2t_manager.py:3041 #: ../gui/wxpython/photo2image/ip2i_manager.py:2193 msgid "Select source map to display:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:779 ../gui/wxpython/gcp/manager.py:3094 +#: ../gui/wxpython/gcp/manager.py:779 ../gui/wxpython/gcp/manager.py:3097 #: ../gui/wxpython/image2target/ii2t_manager.py:786 #: ../gui/wxpython/image2target/ii2t_manager.py:3058 #: ../gui/wxpython/photo2image/ip2i_manager.py:2210 msgid "Select target raster map to display:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:806 ../gui/wxpython/gcp/manager.py:3108 +#: ../gui/wxpython/gcp/manager.py:806 ../gui/wxpython/gcp/manager.py:3111 #: ../gui/wxpython/image2target/ii2t_manager.py:812 #: ../gui/wxpython/image2target/ii2t_manager.py:3075 msgid "Select target vector map to display:" @@ -3081,80 +3101,85 @@ msgid "" "10+ points for 3rd order." msgstr "" -#: ../gui/wxpython/gcp/manager.py:1730 +#: ../gui/wxpython/gcp/manager.py:1729 +#, python-brace-format +msgid "The raster map {map_name} exists. Do you want to overwrite?" +msgstr "" + +#: ../gui/wxpython/gcp/manager.py:1733 #, python-brace-format -msgid "The {map_type} map {map_name} exists. Do you want to overwrite?" +msgid "The vector map {map_name} exists. Do you want to overwrite?" msgstr "" -#: ../gui/wxpython/gcp/manager.py:1767 +#: ../gui/wxpython/gcp/manager.py:1770 #: ../gui/wxpython/image2target/ii2t_manager.py:1722 #: ../gui/wxpython/photo2image/ip2i_manager.py:1078 msgid "Rectifying images, please wait..." msgstr "" -#: ../gui/wxpython/gcp/manager.py:1817 +#: ../gui/wxpython/gcp/manager.py:1820 #: ../gui/wxpython/image2target/ii2t_manager.py:1759 #, python-format msgid "Transforming <%s>..." msgstr "" -#: ../gui/wxpython/gcp/manager.py:1823 +#: ../gui/wxpython/gcp/manager.py:1826 #: ../gui/wxpython/image2target/ii2t_manager.py:1765 #, python-format msgid "Rectifying vector map <%s>, please wait..." msgstr "" -#: ../gui/wxpython/gcp/manager.py:1858 +#: ../gui/wxpython/gcp/manager.py:1861 #: ../gui/wxpython/image2target/ii2t_manager.py:1799 #, python-format msgid "Georectification of vector map <%s> failed" msgstr "" -#: ../gui/wxpython/gcp/manager.py:1867 +#: ../gui/wxpython/gcp/manager.py:1870 #: ../gui/wxpython/image2target/ii2t_manager.py:1808 #: ../gui/wxpython/photo2image/ip2i_manager.py:1133 msgid "GCP Manager settings" msgstr "" -#: ../gui/wxpython/gcp/manager.py:1919 +#: ../gui/wxpython/gcp/manager.py:1922 #: ../gui/wxpython/image2target/ii2t_manager.py:1860 #: ../gui/wxpython/photo2image/ip2i_manager.py:1179 msgid "Quit GCP Manager" msgstr "" -#: ../gui/wxpython/gcp/manager.py:1920 +#: ../gui/wxpython/gcp/manager.py:1923 #: ../gui/wxpython/image2target/ii2t_manager.py:1861 #: ../gui/wxpython/photo2image/ip2i_manager.py:1180 msgid "Save ground control points?" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2001 +#: ../gui/wxpython/gcp/manager.py:2004 #: ../gui/wxpython/photo2image/ip2i_manager.py:1259 msgid "" "Could not calculate RMS Error.\n" "Possible error with m.transform." msgstr "" -#: ../gui/wxpython/gcp/manager.py:2133 +#: ../gui/wxpython/gcp/manager.py:2136 #: ../gui/wxpython/photo2image/ip2i_manager.py:1391 msgid "" "Could not calculate new extends.\n" "Possible error with m.transform." msgstr "" -#: ../gui/wxpython/gcp/manager.py:2262 +#: ../gui/wxpython/gcp/manager.py:2265 #: ../gui/wxpython/image2target/ii2t_manager.py:2203 #: ../gui/wxpython/photo2image/ip2i_manager.py:1520 msgid "Adjust source display to target display" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2268 +#: ../gui/wxpython/gcp/manager.py:2271 #: ../gui/wxpython/image2target/ii2t_manager.py:2209 #: ../gui/wxpython/photo2image/ip2i_manager.py:1526 msgid "Adjust target display to source display" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2376 ../gui/wxpython/gcp/manager.py:2395 +#: ../gui/wxpython/gcp/manager.py:2379 ../gui/wxpython/gcp/manager.py:2398 #: ../gui/wxpython/image2target/ii2t_manager.py:2317 #: ../gui/wxpython/image2target/ii2t_manager.py:2338 #: ../gui/wxpython/photo2image/ip2i_manager.py:1635 @@ -3163,31 +3188,31 @@ msgstr "" msgid "use" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2377 ../gui/wxpython/gcp/manager.py:2396 +#: ../gui/wxpython/gcp/manager.py:2380 ../gui/wxpython/gcp/manager.py:2399 #: ../gui/wxpython/image2target/ii2t_manager.py:2318 #: ../gui/wxpython/image2target/ii2t_manager.py:2339 msgid "source E" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2378 ../gui/wxpython/gcp/manager.py:2397 +#: ../gui/wxpython/gcp/manager.py:2381 ../gui/wxpython/gcp/manager.py:2400 #: ../gui/wxpython/image2target/ii2t_manager.py:2319 #: ../gui/wxpython/image2target/ii2t_manager.py:2340 msgid "source N" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2379 ../gui/wxpython/gcp/manager.py:2398 +#: ../gui/wxpython/gcp/manager.py:2382 ../gui/wxpython/gcp/manager.py:2401 #: ../gui/wxpython/image2target/ii2t_manager.py:2321 #: ../gui/wxpython/image2target/ii2t_manager.py:2342 msgid "target E" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2380 ../gui/wxpython/gcp/manager.py:2399 +#: ../gui/wxpython/gcp/manager.py:2383 ../gui/wxpython/gcp/manager.py:2402 #: ../gui/wxpython/image2target/ii2t_manager.py:2322 #: ../gui/wxpython/image2target/ii2t_manager.py:2343 msgid "target N" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2381 ../gui/wxpython/gcp/manager.py:2400 +#: ../gui/wxpython/gcp/manager.py:2384 ../gui/wxpython/gcp/manager.py:2403 #: ../gui/wxpython/image2target/ii2t_manager.py:2324 #: ../gui/wxpython/image2target/ii2t_manager.py:2345 #: ../gui/wxpython/photo2image/ip2i_manager.py:1640 @@ -3195,7 +3220,7 @@ msgstr "" msgid "Forward error" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2382 ../gui/wxpython/gcp/manager.py:2401 +#: ../gui/wxpython/gcp/manager.py:2385 ../gui/wxpython/gcp/manager.py:2404 #: ../gui/wxpython/image2target/ii2t_manager.py:2325 #: ../gui/wxpython/image2target/ii2t_manager.py:2346 #: ../gui/wxpython/photo2image/ip2i_manager.py:1641 @@ -3203,55 +3228,55 @@ msgstr "" msgid "Backward error" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2536 +#: ../gui/wxpython/gcp/manager.py:2539 #: ../gui/wxpython/image2target/ii2t_manager.py:2483 #: ../gui/wxpython/photo2image/ip2i_manager.py:1795 msgid "Invalid coordinate value. Operation canceled." msgstr "" -#: ../gui/wxpython/gcp/manager.py:2593 +#: ../gui/wxpython/gcp/manager.py:2596 #: ../gui/wxpython/image2target/ii2t_manager.py:2542 msgid "Create vector map group" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2661 +#: ../gui/wxpython/gcp/manager.py:2664 #: ../gui/wxpython/image2target/ii2t_manager.py:2620 msgid "Select vector map(s) to add to group:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2719 +#: ../gui/wxpython/gcp/manager.py:2722 #: ../gui/wxpython/image2target/ii2t_manager.py:2674 #: ../gui/wxpython/photo2image/ip2i_manager.py:1841 msgid "Edit GCP" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2733 +#: ../gui/wxpython/gcp/manager.py:2736 #: ../gui/wxpython/image2target/ii2t_manager.py:2688 #: ../gui/wxpython/photo2image/ip2i_manager.py:1855 msgid "Ground Control Point No." msgstr "" -#: ../gui/wxpython/gcp/manager.py:2754 +#: ../gui/wxpython/gcp/manager.py:2757 #: ../gui/wxpython/image2target/ii2t_manager.py:2710 msgid "source E:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2755 +#: ../gui/wxpython/gcp/manager.py:2758 #: ../gui/wxpython/image2target/ii2t_manager.py:2711 msgid "target E:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2756 +#: ../gui/wxpython/gcp/manager.py:2759 #: ../gui/wxpython/image2target/ii2t_manager.py:2712 msgid "source N:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2757 +#: ../gui/wxpython/gcp/manager.py:2760 #: ../gui/wxpython/image2target/ii2t_manager.py:2713 msgid "target N:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2867 +#: ../gui/wxpython/gcp/manager.py:2870 #: ../gui/wxpython/image2target/ii2t_manager.py:2829 #: ../gui/wxpython/iscatt/dialogs.py:400 #: ../gui/wxpython/photo2image/ip2i_manager.py:1989 @@ -3260,7 +3285,7 @@ msgstr "" msgid "Apply changes for the current session" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2871 +#: ../gui/wxpython/gcp/manager.py:2874 #: ../gui/wxpython/gui_core/preferences.py:116 #: ../gui/wxpython/image2target/ii2t_manager.py:2833 #: ../gui/wxpython/iscatt/dialogs.py:404 @@ -3270,7 +3295,7 @@ msgstr "" msgid "Apply and save changes to user settings file (default for next sessions)" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2876 +#: ../gui/wxpython/gcp/manager.py:2879 #: ../gui/wxpython/image2target/ii2t_manager.py:2838 #: ../gui/wxpython/iscatt/dialogs.py:409 #: ../gui/wxpython/modules/import_export.py:127 @@ -3282,7 +3307,7 @@ msgstr "" msgid "Close dialog" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2897 +#: ../gui/wxpython/gcp/manager.py:2900 #: ../gui/wxpython/image2target/ii2t_manager.py:2859 #: ../gui/wxpython/photo2image/ip2i_manager.py:2019 #: ../gui/wxpython/psmap/dialogs.py:2725 @@ -3290,19 +3315,19 @@ msgstr "" msgid "Symbology" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2905 +#: ../gui/wxpython/gcp/manager.py:2908 #: ../gui/wxpython/image2target/ii2t_manager.py:2867 #: ../gui/wxpython/photo2image/ip2i_manager.py:2027 msgid "Highlight highest RMS error only" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2917 +#: ../gui/wxpython/gcp/manager.py:2920 #: ../gui/wxpython/image2target/ii2t_manager.py:2879 #: ../gui/wxpython/photo2image/ip2i_manager.py:2039 msgid "Highlight RMS error > M + SD * factor:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2921 +#: ../gui/wxpython/gcp/manager.py:2924 #: ../gui/wxpython/image2target/ii2t_manager.py:2883 #: ../gui/wxpython/photo2image/ip2i_manager.py:2044 msgid "" @@ -3311,13 +3336,13 @@ msgid "" "Recommended values for this factor are between 1 and 2." msgstr "" -#: ../gui/wxpython/gcp/manager.py:2940 +#: ../gui/wxpython/gcp/manager.py:2943 #: ../gui/wxpython/image2target/ii2t_manager.py:2902 #: ../gui/wxpython/photo2image/ip2i_manager.py:2064 msgid "Symbol settings" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2948 +#: ../gui/wxpython/gcp/manager.py:2951 #: ../gui/wxpython/gui_core/preferences.py:1651 #: ../gui/wxpython/image2target/ii2t_manager.py:2910 #: ../gui/wxpython/mapswipe/dialogs.py:288 @@ -3330,38 +3355,38 @@ msgstr "" msgid "Color:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2962 +#: ../gui/wxpython/gcp/manager.py:2965 #: ../gui/wxpython/image2target/ii2t_manager.py:2924 #: ../gui/wxpython/photo2image/ip2i_manager.py:2086 msgid "Color for high RMS error:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2977 +#: ../gui/wxpython/gcp/manager.py:2980 #: ../gui/wxpython/image2target/ii2t_manager.py:2939 #: ../gui/wxpython/photo2image/ip2i_manager.py:2101 msgid "Color for selected GCP:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:2992 +#: ../gui/wxpython/gcp/manager.py:2995 #: ../gui/wxpython/image2target/ii2t_manager.py:2954 #: ../gui/wxpython/photo2image/ip2i_manager.py:2116 msgid "Color for unused GCPs:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3005 +#: ../gui/wxpython/gcp/manager.py:3008 #: ../gui/wxpython/image2target/ii2t_manager.py:2967 #: ../gui/wxpython/photo2image/ip2i_manager.py:2129 msgid "Show unused GCPs" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3015 +#: ../gui/wxpython/gcp/manager.py:3018 #: ../gui/wxpython/gui_core/preferences.py:1574 #: ../gui/wxpython/image2target/ii2t_manager.py:2977 #: ../gui/wxpython/photo2image/ip2i_manager.py:2139 msgid "Symbol size:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3027 +#: ../gui/wxpython/gcp/manager.py:3030 #: ../gui/wxpython/gui_core/preferences.py:1541 #: ../gui/wxpython/image2target/ii2t_manager.py:2989 #: ../gui/wxpython/mapswipe/dialogs.py:333 @@ -3370,59 +3395,59 @@ msgstr "" msgid "Line width:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3134 +#: ../gui/wxpython/gcp/manager.py:3137 #: ../gui/wxpython/image2target/ii2t_manager.py:3104 #: ../gui/wxpython/photo2image/ip2i_manager.py:2238 msgid "Rectification" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3142 +#: ../gui/wxpython/gcp/manager.py:3145 #: ../gui/wxpython/image2target/ii2t_manager.py:3112 #: ../gui/wxpython/photo2image/ip2i_manager.py:2246 msgid "Select rectification order" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3143 +#: ../gui/wxpython/gcp/manager.py:3146 #: ../gui/wxpython/image2target/ii2t_manager.py:3113 #: ../gui/wxpython/photo2image/ip2i_manager.py:2247 msgid "1st order" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3143 +#: ../gui/wxpython/gcp/manager.py:3146 #: ../gui/wxpython/image2target/ii2t_manager.py:3113 #: ../gui/wxpython/photo2image/ip2i_manager.py:2247 msgid "2nd order" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3143 +#: ../gui/wxpython/gcp/manager.py:3146 #: ../gui/wxpython/image2target/ii2t_manager.py:3113 #: ../gui/wxpython/photo2image/ip2i_manager.py:2247 msgid "3rd order" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3153 +#: ../gui/wxpython/gcp/manager.py:3156 #: ../gui/wxpython/image2target/ii2t_manager.py:3123 #: ../gui/wxpython/photo2image/ip2i_manager.py:2257 msgid "Select interpolation method:" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3169 +#: ../gui/wxpython/gcp/manager.py:3172 #: ../gui/wxpython/image2target/ii2t_manager.py:3139 #: ../gui/wxpython/photo2image/ip2i_manager.py:2273 msgid "clip to computational region in target location" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3177 +#: ../gui/wxpython/gcp/manager.py:3180 msgid "overwrite result map" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3223 +#: ../gui/wxpython/gcp/manager.py:3226 #: ../gui/wxpython/image2target/ii2t_manager.py:3188 #: ../gui/wxpython/photo2image/ip2i_manager.py:2322 msgid "RMS threshold factor must be > 0" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3228 +#: ../gui/wxpython/gcp/manager.py:3231 #: ../gui/wxpython/image2target/ii2t_manager.py:3193 #: ../gui/wxpython/photo2image/ip2i_manager.py:2327 msgid "" @@ -3430,7 +3455,7 @@ msgid "" "Too many points might be highlighted" msgstr "" -#: ../gui/wxpython/gcp/manager.py:3466 +#: ../gui/wxpython/gcp/manager.py:3469 #: ../gui/wxpython/image2target/ii2t_manager.py:3400 #: ../gui/wxpython/photo2image/ip2i_manager.py:2502 #, python-format @@ -3493,7 +3518,7 @@ msgstr "" #: ../gui/wxpython/gcp/mapdisplay.py:487 #: ../gui/wxpython/image2target/ii2t_mapdisplay.py:477 -#: ../gui/wxpython/mapdisp/frame.py:944 +#: ../gui/wxpython/mapdisp/frame.py:944 ../gui/wxpython/menustrings.py:2326 #: ../gui/wxpython/modules/histogram.py:500 #: ../gui/wxpython/photo2image/ip2i_mapdisplay.py:470 #: ../gui/wxpython/psmap/toolbars.py:80 ../gui/wxpython/wxplot/base.py:613 @@ -3603,6 +3628,7 @@ msgstr "" #: ../gui/wxpython/gcp/toolbars.py:42 #: ../gui/wxpython/image2target/ii2t_toolbars.py:42 +#: ../gui/wxpython/menustrings.py:221 ../gui/wxpython/menustrings.py:2234 #: ../gui/wxpython/photo2image/ip2i_toolbars.py:42 msgid "Georectify" msgstr "" @@ -3619,27 +3645,22 @@ msgstr "" msgid "Reload GCPs from POINTS file" msgstr "" -#: ../gui/wxpython/gcp/toolbars.py:113 ../gui/wxpython/iclass/toolbars.py:69 -#: ../gui/wxpython/image2target/ii2t_toolbars.py:113 -#: ../gui/wxpython/photo2image/ip2i_toolbars.py:113 -msgid "Set map canvas for " -msgstr "" - -#: ../gui/wxpython/gcp/toolbars.py:115 -#: ../gui/wxpython/image2target/ii2t_toolbars.py:115 -#: ../gui/wxpython/photo2image/ip2i_toolbars.py:115 -msgid " / Zoom to map" +#: ../gui/wxpython/gcp/toolbars.py:111 ../gui/wxpython/iclass/toolbars.py:67 +#: ../gui/wxpython/image2target/ii2t_toolbars.py:111 +#: ../gui/wxpython/photo2image/ip2i_toolbars.py:111 +#, python-brace-format +msgid "Set map canvas for {zoom_back} / Zoom to map" msgstr "" -#: ../gui/wxpython/gcp/toolbars.py:132 -#: ../gui/wxpython/image2target/ii2t_toolbars.py:132 -#: ../gui/wxpython/photo2image/ip2i_toolbars.py:132 +#: ../gui/wxpython/gcp/toolbars.py:129 +#: ../gui/wxpython/image2target/ii2t_toolbars.py:129 +#: ../gui/wxpython/photo2image/ip2i_toolbars.py:129 msgid "Update GCP coordinates" msgstr "" -#: ../gui/wxpython/gcp/toolbars.py:133 -#: ../gui/wxpython/image2target/ii2t_toolbars.py:133 -#: ../gui/wxpython/photo2image/ip2i_toolbars.py:133 +#: ../gui/wxpython/gcp/toolbars.py:130 +#: ../gui/wxpython/image2target/ii2t_toolbars.py:130 +#: ../gui/wxpython/photo2image/ip2i_toolbars.py:130 msgid "Update GCP coordinates)" msgstr "" @@ -3969,7 +3990,8 @@ msgid "" msgstr "" #: ../gui/wxpython/gmodeler/model_items.py:883 -msgid "Condition: " +#, python-brace-format +msgid "Condition: {label}" msgstr "" #: ../gui/wxpython/gmodeler/model_items.py:884 @@ -4069,7 +4091,7 @@ msgstr "" msgid "Model file <%s> already exists. Do you want to overwrite this file?" msgstr "" -#: ../gui/wxpython/gmodeler/panels.py:882 +#: ../gui/wxpython/gmodeler/panels.py:882 ../gui/wxpython/menustrings.py:2277 msgid "Save model" msgstr "" @@ -4093,7 +4115,7 @@ msgstr "" msgid "Model exported to <%s>" msgstr "" -#: ../gui/wxpython/gmodeler/panels.py:1166 +#: ../gui/wxpython/gmodeler/panels.py:1166 ../gui/wxpython/menustrings.py:2306 msgid "Add comment" msgstr "" @@ -4312,7 +4334,7 @@ msgid "Run script - enabled only for basic Python scripts" msgstr "" #: ../gui/wxpython/gmodeler/preferences.py:29 -#: ../gui/wxpython/gmodeler/toolbars.py:79 +#: ../gui/wxpython/gmodeler/toolbars.py:79 ../gui/wxpython/menustrings.py:2294 msgid "Modeler settings" msgstr "" @@ -4415,6 +4437,7 @@ msgid "Comment" msgstr "" #: ../gui/wxpython/gmodeler/preferences.py:684 +#: ../gui/wxpython/menustrings.py:2310 msgid "Model properties" msgstr "" @@ -4456,11 +4479,11 @@ msgstr "" msgid "Author(s):" msgstr "" -#: ../gui/wxpython/gmodeler/toolbars.py:45 +#: ../gui/wxpython/gmodeler/toolbars.py:45 ../gui/wxpython/menustrings.py:2273 msgid "Create new model" msgstr "" -#: ../gui/wxpython/gmodeler/toolbars.py:49 +#: ../gui/wxpython/gmodeler/toolbars.py:49 ../gui/wxpython/menustrings.py:2275 msgid "Load model from file" msgstr "" @@ -4468,11 +4491,11 @@ msgstr "" msgid "Save current model to file" msgstr "" -#: ../gui/wxpython/gmodeler/toolbars.py:55 +#: ../gui/wxpython/gmodeler/toolbars.py:55 ../gui/wxpython/menustrings.py:2283 msgid "Export model to image" msgstr "" -#: ../gui/wxpython/gmodeler/toolbars.py:58 +#: ../gui/wxpython/gmodeler/toolbars.py:58 ../gui/wxpython/menustrings.py:2285 msgid "Export model to Python script" msgstr "" @@ -4496,11 +4519,12 @@ msgstr "" msgid "Add comment to model" msgstr "" -#: ../gui/wxpython/gmodeler/toolbars.py:77 +#: ../gui/wxpython/gmodeler/toolbars.py:77 ../gui/wxpython/menustrings.py:219 +#: ../gui/wxpython/menustrings.py:2314 msgid "Run model" msgstr "" -#: ../gui/wxpython/gmodeler/toolbars.py:78 +#: ../gui/wxpython/gmodeler/toolbars.py:78 ../gui/wxpython/menustrings.py:2316 msgid "Validate model" msgstr "" @@ -4557,7 +4581,8 @@ msgid "Name of vector map is missing." msgstr "" #: ../gui/wxpython/gui_core/dialogs.py:292 -#: ../gui/wxpython/gui_core/dialogs.py:446 +#: ../gui/wxpython/gui_core/dialogs.py:446 ../gui/wxpython/menustrings.py:595 +#: ../gui/wxpython/menustrings.py:1656 msgid "Create new vector map" msgstr "" @@ -4801,7 +4826,7 @@ msgid "Symbol name:" msgstr "" #: ../gui/wxpython/gui_core/dialogs.py:2332 -#: ../gui/wxpython/gui_core/dialogs.py:2361 +#: ../gui/wxpython/gui_core/dialogs.py:2361 ../gui/wxpython/menustrings.py:231 msgid "Quit GRASS" msgstr "" @@ -4813,7 +4838,7 @@ msgstr "" msgid "Do you want to quit GRASS?" msgstr "" -#: ../gui/wxpython/gui_core/dialogs.py:2359 +#: ../gui/wxpython/gui_core/dialogs.py:2359 ../gui/wxpython/menustrings.py:229 msgid "Close GUI" msgstr "" @@ -4843,7 +4868,8 @@ msgid "Example" msgstr "" #: ../gui/wxpython/gui_core/forms.py:560 -msgid "Enter parameters for '" +#, python-brace-format +msgid "Enter parameters for '{tool}'" msgstr "" #: ../gui/wxpython/gui_core/forms.py:572 @@ -4866,7 +4892,8 @@ msgstr "" msgid "Copy as JSON settings" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:628 +#: ../gui/wxpython/gui_core/forms.py:628 ../gui/wxpython/menustrings.py:184 +#: ../gui/wxpython/menustrings.py:1322 #: ../gui/wxpython/modules/mcalc_builder.py:175 msgid "Copy" msgstr "" @@ -5120,7 +5147,8 @@ msgstr "" msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable." msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:63 +#: ../gui/wxpython/gui_core/ghelp.py:63 ../gui/wxpython/menustrings.py:1169 +#: ../gui/wxpython/menustrings.py:1170 msgid "About GRASS" msgstr "" @@ -5312,12 +5340,13 @@ msgid "Not selectable element" msgstr "" #: ../gui/wxpython/gui_core/gselect.py:557 -#: ../gui/wxpython/gui_core/preferences.py:2444 -msgid "Mapset" +#, python-brace-format +msgid "Mapset: {mapset}" msgstr "" #: ../gui/wxpython/gui_core/gselect.py:570 -msgid "Type: " +#, python-brace-format +msgid "Type: {element_type}" msgstr "" #: ../gui/wxpython/gui_core/gselect.py:594 @@ -5854,7 +5883,7 @@ msgid "Area fill color:" msgstr "" #: ../gui/wxpython/gui_core/preferences.py:1562 -msgid "Random colors according to category number " +msgid "Random colors according to category number" msgstr "" #: ../gui/wxpython/gui_core/preferences.py:1592 @@ -5986,6 +6015,10 @@ msgid "" " - You may only write to mapsets which you own." msgstr "" +#: ../gui/wxpython/gui_core/preferences.py:2444 +msgid "Mapset" +msgstr "" + #: ../gui/wxpython/gui_core/preferences.py:2445 msgid "Owner" msgstr "" @@ -6068,7 +6101,7 @@ msgstr "" msgid "Deactivate overwrite" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:876 +#: ../gui/wxpython/gui_core/pyedit.py:876 ../gui/wxpython/menustrings.py:211 msgid "Simple Python Editor" msgstr "" @@ -6273,6 +6306,7 @@ msgid "Show manual" msgstr "" #: ../gui/wxpython/gui_core/toolbars.py:71 ../gui/wxpython/lmgr/layertree.py:54 +#: ../gui/wxpython/menustrings.py:2338 msgid "Quit" msgstr "" @@ -6458,6 +6492,7 @@ msgid "&Cancel" msgstr "" #: ../gui/wxpython/gui_core/wrap.py:279 ../gui/wxpython/mapswipe/dialogs.py:203 +#: ../gui/wxpython/menustrings.py:15 ../gui/wxpython/menustrings.py:2280 msgid "Close" msgstr "" @@ -7021,16 +7056,12 @@ msgstr "" msgid "Training" msgstr "" -#: ../gui/wxpython/iclass/toolbars.py:71 -msgid "/ Zoom to map" -msgstr "" - -#: ../gui/wxpython/iclass/toolbars.py:305 -#: ../gui/wxpython/iclass/toolbars.py:311 +#: ../gui/wxpython/iclass/toolbars.py:302 +#: ../gui/wxpython/iclass/toolbars.py:308 msgid "std dev" msgstr "" -#: ../gui/wxpython/iclass/toolbars.py:397 ../gui/wxpython/lmgr/toolbars.py:131 +#: ../gui/wxpython/iclass/toolbars.py:394 ../gui/wxpython/lmgr/toolbars.py:131 msgid "Add raster map" msgstr "" @@ -7175,7 +7206,7 @@ msgstr "" #: ../gui/wxpython/image2target/ii2t_gis_set.py:630 #: ../gui/wxpython/image2target/ii2t_gis_set.py:1030 -#: ../gui/wxpython/startup/guiutils.py:133 +#: ../gui/wxpython/menustrings.py:262 ../gui/wxpython/startup/guiutils.py:133 msgid "Create new mapset" msgstr "" @@ -7823,7 +7854,7 @@ msgstr "" #: ../gui/wxpython/jupyter_notebook/frame.py:108 #: ../gui/wxpython/jupyter_notebook/panel.py:46 -#: ../gui/wxpython/lmgr/toolbars.py:258 +#: ../gui/wxpython/lmgr/toolbars.py:258 ../gui/wxpython/menustrings.py:215 msgid "Jupyter Notebook" msgstr "" @@ -8413,7 +8444,9 @@ msgstr "" msgid "Map Layers" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:528 ../gui/wxpython/rlisetup/frame.py:157 +#: ../gui/wxpython/lmgr/layertree.py:528 ../gui/wxpython/menustrings.py:188 +#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/menustrings.py:1326 +#: ../gui/wxpython/menustrings.py:2111 ../gui/wxpython/rlisetup/frame.py:157 msgid "Rename" msgstr "" @@ -8486,11 +8519,13 @@ msgstr "" msgid "Rebuild topology" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:889 +#: ../gui/wxpython/lmgr/layertree.py:889 ../gui/wxpython/menustrings.py:835 +#: ../gui/wxpython/menustrings.py:1896 msgid "Histogram" msgstr "" #: ../gui/wxpython/lmgr/layertree.py:900 ../gui/wxpython/lmgr/layertree.py:943 +#: ../gui/wxpython/menustrings.py:573 ../gui/wxpython/menustrings.py:1634 msgid "Univariate raster statistics" msgstr "" @@ -8510,14 +8545,14 @@ msgstr "" msgid "Unable to create profile of raster map." msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1117 +#: ../gui/wxpython/lmgr/layertree.py:1117 ../gui/wxpython/menustrings.py:2343 #: ../gui/wxpython/nviz/mapwindow.py:1783 ../gui/wxpython/nviz/tools.py:892 #: ../gui/wxpython/psmap/dialogs.py:1634 msgid "Raster map" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1121 ../gui/wxpython/nviz/tools.py:1527 -#: ../gui/wxpython/psmap/dialogs.py:3641 +#: ../gui/wxpython/lmgr/layertree.py:1121 ../gui/wxpython/menustrings.py:2345 +#: ../gui/wxpython/nviz/tools.py:1527 ../gui/wxpython/psmap/dialogs.py:3641 msgid "Vector map" msgstr "" @@ -8571,7 +8606,8 @@ msgid "Set opacity of <{}>" msgstr "" #: ../gui/wxpython/lmgr/layertree.py:1559 -msgid "Layer group:" +#, python-brace-format +msgid "Layer group: {number}" msgstr "" #: ../gui/wxpython/lmgr/layertree.py:1564 @@ -8629,7 +8665,8 @@ msgstr "" msgid "Vector map <%s> added" msgstr "" -#: ../gui/wxpython/lmgr/statusbar.py:86 ../gui/wxpython/nviz/tools.py:1045 +#: ../gui/wxpython/lmgr/statusbar.py:86 ../gui/wxpython/menustrings.py:362 +#: ../gui/wxpython/menustrings.py:1423 ../gui/wxpython/nviz/tools.py:1045 #: ../gui/wxpython/nviz/tools.py:2941 ../gui/wxpython/psmap/dialogs.py:2407 msgid "Mask" msgstr "" @@ -8675,7 +8712,7 @@ msgid "Open workspace" msgstr "" #: ../gui/wxpython/lmgr/toolbars.py:66 ../gui/wxpython/lmgr/workspace.py:390 -#: ../gui/wxpython/lmgr/workspace.py:413 +#: ../gui/wxpython/lmgr/workspace.py:413 ../gui/wxpython/menustrings.py:12 msgid "Save workspace" msgstr "" @@ -8760,7 +8797,8 @@ msgstr "" msgid "Georectifier" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:207 ../gui/wxpython/psmap/frame.py:81 +#: ../gui/wxpython/lmgr/toolbars.py:207 ../gui/wxpython/menustrings.py:225 +#: ../gui/wxpython/menustrings.py:2228 ../gui/wxpython/psmap/frame.py:81 msgid "Cartographic Composer" msgstr "" @@ -8881,7 +8919,7 @@ msgstr "" msgid "Do you want to store current settings to workspace file?" msgstr "" -#: ../gui/wxpython/lmgr/workspace.py:521 +#: ../gui/wxpython/lmgr/workspace.py:521 ../gui/wxpython/menustrings.py:6 msgid "Workspace" msgstr "" @@ -9214,7 +9252,7 @@ msgid "Datum transform is required." msgstr "" #: ../gui/wxpython/location_wizard/wizard.py:2176 -#: ../gui/wxpython/rlisetup/wizard.py:1946 +#: ../gui/wxpython/rlisetup/wizard.py:1950 msgid "Summary" msgstr "" @@ -9356,11 +9394,12 @@ msgid "Switching back to 2D view mode..." msgstr "" #: ../gui/wxpython/mapdisp/frame.py:636 ../gui/wxpython/mapdisp/toolbars.py:110 -#: ../gui/wxpython/vdigit/toolbars.py:1148 +#: ../gui/wxpython/menustrings.py:2250 ../gui/wxpython/vdigit/toolbars.py:1148 msgid "Vector digitizer" msgstr "" #: ../gui/wxpython/mapdisp/frame.py:641 ../gui/wxpython/mapdisp/toolbars.py:130 +#: ../gui/wxpython/menustrings.py:2252 msgid "Raster digitizer" msgstr "" @@ -9512,7 +9551,8 @@ msgstr "" msgid "Display extent" msgstr "" -#: ../gui/wxpython/mapdisp/statusbar.py:937 +#: ../gui/wxpython/mapdisp/statusbar.py:937 ../gui/wxpython/menustrings.py:234 +#: ../gui/wxpython/menustrings.py:1334 #: ../gui/wxpython/web_services/dialogs.py:873 msgid "Computational region" msgstr "" @@ -9576,7 +9616,7 @@ msgstr "" msgid "Add vector legend" msgstr "" -#: ../gui/wxpython/mapdisp/toolbars.py:38 +#: ../gui/wxpython/mapdisp/toolbars.py:38 ../gui/wxpython/menustrings.py:2358 msgid "Add north arrow" msgstr "" @@ -9608,7 +9648,8 @@ msgstr "" msgid "Create histogram of raster map" msgstr "" -#: ../gui/wxpython/mapdisp/toolbars.py:55 +#: ../gui/wxpython/mapdisp/toolbars.py:55 ../gui/wxpython/menustrings.py:708 +#: ../gui/wxpython/menustrings.py:1769 msgid "Vector network analysis tool" msgstr "" @@ -9706,7 +9747,8 @@ msgstr "" msgid "Size:" msgstr "" -#: ../gui/wxpython/mapswipe/frame.py:40 +#: ../gui/wxpython/mapswipe/frame.py:40 ../gui/wxpython/menustrings.py:227 +#: ../gui/wxpython/menustrings.py:2242 msgid "Map Swipe" msgstr "" @@ -9736,59 +9778,60 @@ msgid "Switch maps" msgstr "" #: ../gui/wxpython/mapwin/analysis.py:225 -#: ../gui/wxpython/mapwin/analysis.py:356 +#: ../gui/wxpython/mapwin/analysis.py:358 msgid "Measuring finished" msgstr "" #: ../gui/wxpython/mapwin/analysis.py:243 -#: ../gui/wxpython/mapwin/analysis.py:368 +#: ../gui/wxpython/mapwin/analysis.py:370 #, python-format msgid "Click and drag with left mouse button to measure.%sDouble click with left button to clear." msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:251 -msgid "Measuring distance" +#: ../gui/wxpython/mapwin/analysis.py:252 +#, python-brace-format +msgid "Measuring distance ({units}):" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:253 +#: ../gui/wxpython/mapwin/analysis.py:255 msgid "Measuring distance:" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:263 +#: ../gui/wxpython/mapwin/analysis.py:265 #, python-format msgid "" "Geodesic distance calculation is not available.\n" "Reason: %s" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:297 -#: ../gui/wxpython/mapwin/analysis.py:310 +#: ../gui/wxpython/mapwin/analysis.py:299 +#: ../gui/wxpython/mapwin/analysis.py:312 msgid "segment" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:300 -#: ../gui/wxpython/mapwin/analysis.py:313 +#: ../gui/wxpython/mapwin/analysis.py:302 +#: ../gui/wxpython/mapwin/analysis.py:315 msgid "total distance" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:303 +#: ../gui/wxpython/mapwin/analysis.py:305 msgid "bearing" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:305 +#: ../gui/wxpython/mapwin/analysis.py:307 msgid "degrees (clockwise from grid-north)" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:374 +#: ../gui/wxpython/mapwin/analysis.py:376 msgid "Measuring area:" msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:391 +#: ../gui/wxpython/mapwin/analysis.py:393 msgid "Units not recognized, measurement failed." msgstr "" -#: ../gui/wxpython/mapwin/analysis.py:396 #: ../gui/wxpython/mapwin/analysis.py:398 +#: ../gui/wxpython/mapwin/analysis.py:400 #, python-brace-format msgid "Area: {area} {unit}\n" msgstr "" @@ -9907,395 +9950,5004 @@ msgstr "" msgid "Property does not exist: %s" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:88 -msgid "Check all" +#: ../gui/wxpython/menustrings.py:5 ../gui/wxpython/menustrings.py:2271 +#: ../gui/wxpython/menustrings.py:2325 +msgid "&File" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:91 -msgid "Clear all" +#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:2272 +#: ../gui/wxpython/nviz/tools.py:1445 +msgid "New" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:151 -msgid "Enter vector attribute values" +#: ../gui/wxpython/menustrings.py:8 +msgid "Create new workspace" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:318 -#, python-format -msgid "Bad color format '%s'. Use color format '0:0:0'" +#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:2274 +msgid "Open" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:418 -#: ../gui/wxpython/wxplot/dialogs.py:440 -msgid "Select raster map:" +#: ../gui/wxpython/menustrings.py:10 +msgid "Load workspace from file" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:420 -msgid "Select vector map:" +#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:2276 +#: ../gui/wxpython/modules/colorrules.py:461 +msgid "Save" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:438 -msgid "Import or export color table:" +#: ../gui/wxpython/menustrings.py:13 ../gui/wxpython/menustrings.py:2278 +msgid "Save as" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:447 -msgid "Choose file to load color table" +#: ../gui/wxpython/menustrings.py:14 +msgid "Save workspace to file" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:448 -msgid "Load" +#: ../gui/wxpython/menustrings.py:16 +msgid "Close workspace file" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:449 -msgid "Type filename or click to choose file and load color table" +#: ../gui/wxpython/menustrings.py:17 +#: ../gui/wxpython/web_services/dialogs.py:870 +msgid "Map display" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:459 -msgid "Choose file to save color table" +#: ../gui/wxpython/menustrings.py:18 +msgid "Add raster" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:460 -msgid "Type filename or click to choose file and save color table" +#: ../gui/wxpython/menustrings.py:19 +msgid "Add raster map layer to current display" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:461 -msgid "Save" +#: ../gui/wxpython/menustrings.py:20 +msgid "Add vector" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:474 -msgid "&Set" +#: ../gui/wxpython/menustrings.py:21 +msgid "Add vector map layer to current display" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:483 -msgid "Load color table:" +#: ../gui/wxpython/menustrings.py:22 +msgid "Add multiple rasters or vectors" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:490 -msgid "Load color table from file:" +#: ../gui/wxpython/menustrings.py:23 +msgid "Add multiple raster or vector map layers to current display" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:496 -msgid "Save color table to file:" +#: ../gui/wxpython/menustrings.py:24 +msgid "Add RGB raster layer" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:526 -msgid "Reload default table" +#: ../gui/wxpython/menustrings.py:25 +msgid "Add RGB raster map layer to current display" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:586 -msgid "Show preview of map (current Map Display extent is used)." +#: ../gui/wxpython/menustrings.py:26 ../gui/wxpython/menustrings.py:27 +#: ../gui/wxpython/web_services/dialogs.py:523 +msgid "Add web service layer" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:621 -#: ../gui/wxpython/modules/colorrules.py:1897 -msgid "No valid color rules given." +#: ../gui/wxpython/menustrings.py:28 +msgid "New map display window" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:670 -#, python-format -msgid "File <%s> already already exists. Do you want to overwrite it?" +#: ../gui/wxpython/menustrings.py:29 +msgid "Open new map display window" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:712 -msgid "Invalid color table format" +#: ../gui/wxpython/menustrings.py:30 +msgid "Render all map displays" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:785 -#, python-format -msgid "Invalid rule value '%s'. Unable to apply color table." +#: ../gui/wxpython/menustrings.py:31 +msgid "Re-render maps in all open map display windows" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:868 -msgid "Create new color table for raster map" +#: ../gui/wxpython/menustrings.py:32 ../gui/wxpython/menustrings.py:33 +msgid "Close current map display window" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:962 -msgid "Enter raster category values or percents" +#: ../gui/wxpython/menustrings.py:34 ../gui/wxpython/menustrings.py:35 +msgid "Close all open map display windows" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:965 -msgid "fp range" +#: ../gui/wxpython/menustrings.py:37 ../gui/wxpython/menustrings.py:1175 +msgid "Simplified raster import with reprojection" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:965 -#: ../gui/wxpython/modules/colorrules.py:1649 -#: ../gui/wxpython/modules/colorrules.py:1655 -#: ../gui/wxpython/psmap/dialogs.py:3560 -msgid "range" +#: ../gui/wxpython/menustrings.py:38 ../gui/wxpython/menustrings.py:40 +#: ../gui/wxpython/menustrings.py:1176 ../gui/wxpython/menustrings.py:1178 +msgid "Imports raster data into a GRASS raster map using GDAL library." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:967 -#, python-format -msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)" +#: ../gui/wxpython/menustrings.py:39 ../gui/wxpython/menustrings.py:1177 +msgid "Import of common raster formats" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1074 -msgid "Create new color rules for vector map" +#: ../gui/wxpython/menustrings.py:41 ../gui/wxpython/menustrings.py:1179 +msgid "ASCII x,y,z point import and gridding" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1086 -#: ../gui/wxpython/modules/colorrules.py:1668 -msgid "Enter vector attribute values or percents:" +#: ../gui/wxpython/menustrings.py:42 ../gui/wxpython/menustrings.py:1180 +msgid "Creates a raster map from an assemblage of many coordinates using univariate statistics." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1088 -#: ../gui/wxpython/modules/colorrules.py:1670 -msgid "Enter vector attribute values:" +#: ../gui/wxpython/menustrings.py:43 ../gui/wxpython/menustrings.py:1181 +msgid "ASCII grid import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1099 -msgid "Select vector columns" +#: ../gui/wxpython/menustrings.py:44 ../gui/wxpython/menustrings.py:1182 +msgid "Converts a GRASS ASCII raster file to binary raster map." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1101 -msgid "Layer:" +#: ../gui/wxpython/menustrings.py:45 ../gui/wxpython/menustrings.py:1183 +msgid "ASCII polygons, lines, and point import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1102 -msgid "Attribute column:" +#: ../gui/wxpython/menustrings.py:46 ../gui/wxpython/menustrings.py:1184 +msgid "Creates raster maps from ASCII polygon/line/point data files." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1105 -msgid "Load color from column:" +#: ../gui/wxpython/menustrings.py:47 ../gui/wxpython/menustrings.py:1185 +msgid "Raw binary array import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1105 -msgid "Save color to column:" +#: ../gui/wxpython/menustrings.py:48 ../gui/wxpython/menustrings.py:1186 +msgid "Import a binary raster file into a GRASS raster map layer." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1107 -msgid "Load size from column:" +#: ../gui/wxpython/menustrings.py:49 ../gui/wxpython/menustrings.py:1187 +msgid "GRIDATB.FOR import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1107 -msgid "Save size to column:" +#: ../gui/wxpython/menustrings.py:50 ../gui/wxpython/menustrings.py:1188 +msgid "Imports GRIDATB.FOR map file (TOPMODEL) into a GRASS raster map." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1109 -msgid "Load width from column:" +#: ../gui/wxpython/menustrings.py:51 ../gui/wxpython/menustrings.py:1189 +msgid "Matlab 2D array import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1109 -msgid "Save width to column:" +#: ../gui/wxpython/menustrings.py:52 ../gui/wxpython/menustrings.py:1190 +msgid "Imports a binary MAT-File(v4) to a GRASS raster." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1115 -msgid "Use color column instead of color table:" +#: ../gui/wxpython/menustrings.py:53 ../gui/wxpython/menustrings.py:1191 +msgid "PNG import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1128 -msgid "Add GRASSRGB column to current attribute table." +#: ../gui/wxpython/menustrings.py:54 ../gui/wxpython/menustrings.py:1192 +msgid "Imports non-georeferenced PNG format image." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1175 -#: ../gui/wxpython/modules/colorrules.py:1224 -msgid "Import or export color table" +#: ../gui/wxpython/menustrings.py:55 ../gui/wxpython/menustrings.py:1193 +msgid "SPOT NDVI import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1237 -#, 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?" +#: ../gui/wxpython/menustrings.py:56 ../gui/wxpython/menustrings.py:1194 +msgid "Imports SPOT VGT NDVI data into a raster map." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1242 -msgid "No database connection defined" +#: ../gui/wxpython/menustrings.py:57 ../gui/wxpython/menustrings.py:1195 +msgid "SRTM HGT import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1318 -#, python-format -msgid "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute table cannot be edited." +#: ../gui/wxpython/menustrings.py:58 ../gui/wxpython/menustrings.py:1196 +msgid "Imports SRTM HGT files into raster map." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1501 -#, python-format -msgid "%s column already exists." +#: ../gui/wxpython/menustrings.py:59 ../gui/wxpython/menustrings.py:1197 +msgid "Terra ASTER HDF import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1540 -msgid "Please wait, loading data from attribute table..." +#: ../gui/wxpython/menustrings.py:60 ../gui/wxpython/menustrings.py:1198 +msgid "Georeference, rectify, and import Terra-ASTER imagery and relative DEMs using gdalwarp." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1604 -#, 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?" +#: ../gui/wxpython/menustrings.py:61 ../gui/wxpython/menustrings.py:90 +#: ../gui/wxpython/menustrings.py:1199 ../gui/wxpython/menustrings.py:1228 +msgid "LAS LiDAR points import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1610 -msgid "Too many records" +#: ../gui/wxpython/menustrings.py:63 ../gui/wxpython/menustrings.py:92 +#: ../gui/wxpython/menustrings.py:1201 ../gui/wxpython/menustrings.py:1230 +msgid "Point cloud (LAS LiDAR) import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1662 -#, python-format -msgid "Enter vector attribute values or percents %s:" +#: ../gui/wxpython/menustrings.py:65 ../gui/wxpython/menustrings.py:1203 +msgid "WMS/WMTS import" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1665 -#, python-format -msgid "Enter vector attribute values %s:" +#: ../gui/wxpython/menustrings.py:66 ../gui/wxpython/menustrings.py:1204 +msgid "Downloads and imports data from OGC WMS and OGC WMTS web mapping servers." msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1806 -msgid "Please select column to save values to." +#: ../gui/wxpython/menustrings.py:67 ../gui/wxpython/menustrings.py:1205 +msgid "Unpack raster map" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1839 -msgid "No color column defined. Operation canceled." +#: ../gui/wxpython/menustrings.py:68 ../gui/wxpython/menustrings.py:1206 +msgid "Imports a GRASS specific raster archive file (packed with r.pack) as a raster map" msgstr "" -#: ../gui/wxpython/modules/colorrules.py:1882 -msgid "Thematic mapping for vector map in 3D view" +#: ../gui/wxpython/menustrings.py:69 ../gui/wxpython/menustrings.py:310 +#: ../gui/wxpython/menustrings.py:1207 ../gui/wxpython/menustrings.py:1371 +msgid "Reproject raster map from different GRASS project" msgstr "" -#: ../gui/wxpython/modules/extensions.py:43 -msgid "Fetch & install extension from GRASS Addons" +#: ../gui/wxpython/menustrings.py:70 ../gui/wxpython/menustrings.py:311 +#: ../gui/wxpython/menustrings.py:1208 ../gui/wxpython/menustrings.py:1372 +msgid "Re-projects a raster map from given project to the current project." msgstr "" -#: ../gui/wxpython/modules/extensions.py:63 -msgid "List of extensions - double-click to install" +#: ../gui/wxpython/menustrings.py:72 ../gui/wxpython/menustrings.py:1210 +msgid "Simplified vector import with reprojection" msgstr "" -#: ../gui/wxpython/modules/extensions.py:113 -msgid "&Install" +#: ../gui/wxpython/menustrings.py:73 ../gui/wxpython/menustrings.py:75 +#: ../gui/wxpython/menustrings.py:1211 ../gui/wxpython/menustrings.py:1213 +msgid "Imports vector data into a GRASS vector map using OGR library." msgstr "" -#: ../gui/wxpython/modules/extensions.py:114 -msgid "Install selected add-ons GRASS tool" +#: ../gui/wxpython/menustrings.py:74 ../gui/wxpython/menustrings.py:1212 +msgid "Import of common vector formats" msgstr "" -#: ../gui/wxpython/modules/extensions.py:117 -msgid "Show g.extension manual page" +#: ../gui/wxpython/menustrings.py:76 ../gui/wxpython/menustrings.py:1214 +msgid "ASCII points or GRASS ASCII format" msgstr "" -#: ../gui/wxpython/modules/extensions.py:185 -msgid "Extension not defined" +#: ../gui/wxpython/menustrings.py:77 ../gui/wxpython/menustrings.py:1215 +msgid "Creates a vector map from an ASCII points file or ASCII vector file." msgstr "" -#: ../gui/wxpython/modules/extensions.py:209 -msgid "Fetching list of tools from GRASS-Addons (be patient)..." +#: ../gui/wxpython/menustrings.py:78 ../gui/wxpython/menustrings.py:1216 +msgid "ASCII points as a vector lines" msgstr "" -#: ../gui/wxpython/modules/extensions.py:224 -#, python-format -msgid "%d extensions loaded" +#: ../gui/wxpython/menustrings.py:79 ../gui/wxpython/menustrings.py:1217 +msgid "Imports ASCII x,y[,z] coordinates as a series of lines." msgstr "" -#: ../gui/wxpython/modules/extensions.py:247 -msgid "Install" +#: ../gui/wxpython/menustrings.py:80 ../gui/wxpython/menustrings.py:1218 +msgid "DXF import" msgstr "" -#: ../gui/wxpython/modules/extensions.py:250 -msgid "Show manual page" +#: ../gui/wxpython/menustrings.py:81 ../gui/wxpython/menustrings.py:1219 +msgid "Converts files in DXF format to GRASS vector map format." msgstr "" -#: ../gui/wxpython/modules/extensions.py:362 -#, python-format -msgid "Unable to load extensions. %s" +#: ../gui/wxpython/menustrings.py:82 ../gui/wxpython/menustrings.py:1220 +msgid "WFS" msgstr "" -#: ../gui/wxpython/modules/extensions.py:410 -msgid "Manage installed GRASS Addons extensions" +#: ../gui/wxpython/menustrings.py:83 ../gui/wxpython/menustrings.py:1221 +msgid "Imports GetFeature from a WFS server." msgstr "" -#: ../gui/wxpython/modules/extensions.py:425 -msgid "List of installed extensions" +#: ../gui/wxpython/menustrings.py:84 ../gui/wxpython/menustrings.py:1222 +msgid "ESRI e00 import" msgstr "" -#: ../gui/wxpython/modules/extensions.py:432 -msgid "Uninstall" +#: ../gui/wxpython/menustrings.py:85 ../gui/wxpython/menustrings.py:1223 +msgid "Imports E00 file into a vector map." msgstr "" -#: ../gui/wxpython/modules/extensions.py:434 -msgid "Uninstall selected Addons extensions" +#: ../gui/wxpython/menustrings.py:86 ../gui/wxpython/menustrings.py:1224 +msgid "Geonames import" msgstr "" -#: ../gui/wxpython/modules/extensions.py:436 -msgid "Reinstall" +#: ../gui/wxpython/menustrings.py:87 ../gui/wxpython/menustrings.py:1225 +msgid "Imports geonames.org country files into a vector points map." msgstr "" -#: ../gui/wxpython/modules/extensions.py:438 -msgid "Reinstall selected Addons extensions" +#: ../gui/wxpython/menustrings.py:88 ../gui/wxpython/menustrings.py:1226 +msgid "Matlab array or Mapgen format import" msgstr "" -#: ../gui/wxpython/modules/extensions.py:471 -msgid "No extension selected. Operation canceled." +#: ../gui/wxpython/menustrings.py:89 ../gui/wxpython/menustrings.py:1227 +msgid "Imports Mapgen or Matlab-ASCII vector maps into GRASS." msgstr "" -#: ../gui/wxpython/modules/extensions.py:497 -#, 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/menustrings.py:94 ../gui/wxpython/menustrings.py:1232 +msgid "Unpack vector map" msgstr "" -#: ../gui/wxpython/modules/extensions.py:501 -msgid "Remove extension" +#: ../gui/wxpython/menustrings.py:95 ../gui/wxpython/menustrings.py:1233 +msgid "Imports a GRASS specific vector archive file (packed with v.pack) as a vector map" msgstr "" -#: ../gui/wxpython/modules/extensions.py:540 -msgid "Extension" +#: ../gui/wxpython/menustrings.py:96 ../gui/wxpython/menustrings.py:615 +#: ../gui/wxpython/menustrings.py:1234 ../gui/wxpython/menustrings.py:1676 +msgid "Reproject vector map from different GRASS project" msgstr "" -#: ../gui/wxpython/modules/histogram.py:297 -msgid "Histogram Tool [d.histogram]" +#: ../gui/wxpython/menustrings.py:97 ../gui/wxpython/menustrings.py:616 +#: ../gui/wxpython/menustrings.py:1235 ../gui/wxpython/menustrings.py:1677 +msgid "Re-projects a vector map from one project to the current project." msgstr "" -#: ../gui/wxpython/modules/histogram.py:426 -msgid "Select font for histogram text" +#: ../gui/wxpython/menustrings.py:98 ../gui/wxpython/menustrings.py:1236 +msgid "Import 3D raster data" msgstr "" -#: ../gui/wxpython/modules/import_export.py:52 -msgid "Multiple import" +#: ../gui/wxpython/menustrings.py:99 ../gui/wxpython/menustrings.py:1237 +msgid "ASCII 3D import" msgstr "" -#: ../gui/wxpython/modules/import_export.py:73 -msgid "List of raster layers" +#: ../gui/wxpython/menustrings.py:100 ../gui/wxpython/menustrings.py:1238 +msgid "Converts a 3D ASCII raster text file into a (binary) 3D raster map." msgstr "" -#: ../gui/wxpython/modules/import_export.py:75 -msgid "List of vector layers" +#: ../gui/wxpython/menustrings.py:101 ../gui/wxpython/menustrings.py:1239 +msgid "Raw binary array 3D import" msgstr "" -#: ../gui/wxpython/modules/import_export.py:77 -#, python-format -msgid "List of %s layers" +#: ../gui/wxpython/menustrings.py:102 ../gui/wxpython/menustrings.py:1240 +msgid "Imports a binary raster file into a GRASS 3D raster map." msgstr "" -#: ../gui/wxpython/modules/import_export.py:79 -#: ../gui/wxpython/modules/import_export.py:1008 -msgid "right click to (un)select all" +#: ../gui/wxpython/menustrings.py:103 ../gui/wxpython/menustrings.py:1241 +msgid "Vis5D import" msgstr "" -#: ../gui/wxpython/modules/import_export.py:86 -msgid "Name for output GRASS map (editable)" +#: ../gui/wxpython/menustrings.py:104 ../gui/wxpython/menustrings.py:1242 +msgid "Import 3-dimensional Vis5D files." msgstr "" -#: ../gui/wxpython/modules/import_export.py:100 -msgid "Override projection check (use current location's projection)" +#: ../gui/wxpython/menustrings.py:105 ../gui/wxpython/menustrings.py:1243 +msgid "LiDAR 3D import" msgstr "" -#: ../gui/wxpython/modules/import_export.py:132 -#: ../gui/wxpython/modules/import_export.py:455 -#: ../gui/wxpython/modules/import_export.py:619 -msgid "&Import" +#: ../gui/wxpython/menustrings.py:107 ../gui/wxpython/menustrings.py:1245 +msgid "XYZ to 3D raster series" msgstr "" -#: ../gui/wxpython/modules/import_export.py:133 -#: ../gui/wxpython/modules/import_export.py:456 -#: ../gui/wxpython/modules/import_export.py:620 -msgid "Import selected layers" +#: ../gui/wxpython/menustrings.py:108 ../gui/wxpython/menustrings.py:1246 +msgid "Create a 3D raster map from an assemblage of many coordinates using univariate statistics" msgstr "" -#: ../gui/wxpython/modules/import_export.py:141 -msgid "Source settings" +#: ../gui/wxpython/menustrings.py:109 ../gui/wxpython/menustrings.py:1247 +msgid "Import database table" msgstr "" -#: ../gui/wxpython/modules/import_export.py:165 -msgid "Import settings" +#: ../gui/wxpython/menustrings.py:110 ../gui/wxpython/menustrings.py:1248 +msgid "Common import formats" msgstr "" -#: ../gui/wxpython/modules/import_export.py:259 -#, python-format +#: ../gui/wxpython/menustrings.py:111 ../gui/wxpython/menustrings.py:1249 +msgid "Imports attribute tables in various formats." +msgstr "" + +#: ../gui/wxpython/menustrings.py:112 ../gui/wxpython/menustrings.py:1250 +msgid "Export raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:113 ../gui/wxpython/menustrings.py:142 +#: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1251 +#: ../gui/wxpython/menustrings.py:1280 ../gui/wxpython/menustrings.py:1310 +msgid "Common export formats" +msgstr "" + +#: ../gui/wxpython/menustrings.py:114 ../gui/wxpython/menustrings.py:1252 +msgid "Exports GRASS raster maps into GDAL supported formats." +msgstr "" + +#: ../gui/wxpython/menustrings.py:115 ../gui/wxpython/menustrings.py:1253 +msgid "ASCII grid export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:116 ../gui/wxpython/menustrings.py:1254 +msgid "Converts a raster map layer into a GRASS ASCII text file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:117 ../gui/wxpython/menustrings.py:1255 +msgid "ASCII x,y,z points export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:118 ../gui/wxpython/menustrings.py:1256 +msgid "Exports a raster map to a text file as x,y,z values based on cell centers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:119 ../gui/wxpython/menustrings.py:1257 +msgid "GRIDATB.FOR export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:120 ../gui/wxpython/menustrings.py:1258 +msgid "Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:121 ../gui/wxpython/menustrings.py:1259 +msgid "Matlab 2D array export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:122 ../gui/wxpython/menustrings.py:1260 +msgid "Exports a GRASS raster to a binary MAT-File." +msgstr "" + +#: ../gui/wxpython/menustrings.py:123 ../gui/wxpython/menustrings.py:1261 +msgid "Raw binary array export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:124 ../gui/wxpython/menustrings.py:1262 +msgid "Exports a GRASS raster to a binary array." +msgstr "" + +#: ../gui/wxpython/menustrings.py:125 ../gui/wxpython/menustrings.py:1263 +msgid "MPEG-1 export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:126 ../gui/wxpython/menustrings.py:1264 +msgid "Converts raster map series to MPEG movie." +msgstr "" + +#: ../gui/wxpython/menustrings.py:127 ../gui/wxpython/menustrings.py:1265 +msgid "PNG export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:128 ../gui/wxpython/menustrings.py:1266 +msgid "Export a GRASS raster map as a non-georeferenced PNG image." +msgstr "" + +#: ../gui/wxpython/menustrings.py:129 ../gui/wxpython/menustrings.py:1267 +msgid "PPM export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:130 ../gui/wxpython/menustrings.py:1268 +msgid "Converts a GRASS raster map to a PPM image file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:131 ../gui/wxpython/menustrings.py:1269 +msgid "PPM from RGB export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:132 ../gui/wxpython/menustrings.py:1270 +msgid "Converts 3 GRASS raster layers (R,G,B) to a PPM image file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:133 ../gui/wxpython/menustrings.py:150 +#: ../gui/wxpython/menustrings.py:1271 ../gui/wxpython/menustrings.py:1288 +msgid "POV-Ray export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:134 ../gui/wxpython/menustrings.py:1272 +msgid "Converts a raster map layer into a height-field file for POV-Ray." +msgstr "" + +#: ../gui/wxpython/menustrings.py:135 ../gui/wxpython/menustrings.py:1273 +msgid "VRML export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:136 ../gui/wxpython/menustrings.py:1274 +msgid "Exports a raster map to the Virtual Reality Modeling Language (VRML)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:137 ../gui/wxpython/menustrings.py:154 +#: ../gui/wxpython/menustrings.py:167 ../gui/wxpython/menustrings.py:1275 +#: ../gui/wxpython/menustrings.py:1292 ../gui/wxpython/menustrings.py:1305 +msgid "VTK export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:138 ../gui/wxpython/menustrings.py:1276 +msgid "Converts raster maps into the VTK-ASCII format." +msgstr "" + +#: ../gui/wxpython/menustrings.py:139 ../gui/wxpython/menustrings.py:1277 +msgid "Pack raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:140 ../gui/wxpython/menustrings.py:1278 +msgid "Exports a raster map as GRASS specific archive file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:141 ../gui/wxpython/menustrings.py:1279 +msgid "Export vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:143 ../gui/wxpython/menustrings.py:1281 +msgid "Exports a vector map layer to any of the supported OGR vector formats. By default a vector map layer is exported to OGC GeoPackage format." +msgstr "" + +#: ../gui/wxpython/menustrings.py:144 ../gui/wxpython/menustrings.py:1282 +msgid "ASCII points or GRASS ASCII vector export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:145 ../gui/wxpython/menustrings.py:1283 +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:146 ../gui/wxpython/menustrings.py:1284 +msgid "DXF export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:147 ../gui/wxpython/menustrings.py:1285 +msgid "Exports vector map to DXF file format." +msgstr "" + +#: ../gui/wxpython/menustrings.py:148 ../gui/wxpython/menustrings.py:1286 +msgid "PostGIS export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:149 ../gui/wxpython/menustrings.py:1287 +msgid "Exports a vector map layer to PostGIS feature table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:151 ../gui/wxpython/menustrings.py:1289 +msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format." +msgstr "" + +#: ../gui/wxpython/menustrings.py:152 ../gui/wxpython/menustrings.py:1290 +msgid "SVG export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:153 ../gui/wxpython/menustrings.py:1291 +msgid "Exports a vector map to SVG file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:155 ../gui/wxpython/menustrings.py:1293 +msgid "Converts a vector map to VTK ASCII output." +msgstr "" + +#: ../gui/wxpython/menustrings.py:156 ../gui/wxpython/menustrings.py:1294 +msgid "Pack vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:157 ../gui/wxpython/menustrings.py:1295 +msgid "Exports a vector map as GRASS specific archive file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:158 ../gui/wxpython/menustrings.py:1296 +msgid "Export to LiDAR format" +msgstr "" + +#: ../gui/wxpython/menustrings.py:160 ../gui/wxpython/menustrings.py:1298 +msgid "Export 3D raster maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:161 ../gui/wxpython/menustrings.py:1299 +msgid "ASCII 3D export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:162 ../gui/wxpython/menustrings.py:1300 +msgid "Converts a 3D raster map layer into a ASCII text file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:163 ../gui/wxpython/menustrings.py:1301 +msgid "Raw binary array 3D export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:164 ../gui/wxpython/menustrings.py:1302 +msgid "Exports a GRASS 3D raster map to a binary array." +msgstr "" + +#: ../gui/wxpython/menustrings.py:165 ../gui/wxpython/menustrings.py:1303 +msgid "Vis5D export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:166 ../gui/wxpython/menustrings.py:1304 +msgid "Exports GRASS 3D raster map to 3-dimensional Vis5D file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:168 ../gui/wxpython/menustrings.py:1306 +msgid "Converts 3D raster maps into the VTK-ASCII format." +msgstr "" + +#: ../gui/wxpython/menustrings.py:169 ../gui/wxpython/menustrings.py:1307 +msgid "NetCDF export" +msgstr "" + +#: ../gui/wxpython/menustrings.py:170 ../gui/wxpython/menustrings.py:1308 +msgid "Export a 3D raster map as netCDF file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:171 ../gui/wxpython/menustrings.py:1309 +msgid "Export database table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:173 ../gui/wxpython/menustrings.py:1311 +msgid "Exports attribute tables into various formats." +msgstr "" + +#: ../gui/wxpython/menustrings.py:175 ../gui/wxpython/menustrings.py:1313 +#: ../gui/wxpython/modules/import_export.py:434 +msgid "Link external raster data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:176 ../gui/wxpython/menustrings.py:1314 +msgid "Link GDAL supported raster data as a pseudo GRASS raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:177 ../gui/wxpython/menustrings.py:1315 +#: ../gui/wxpython/modules/import_export.py:598 +msgid "Link external vector data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:178 ../gui/wxpython/menustrings.py:1316 +msgid "Creates a new pseudo-vector map as a link to an OGR-supported layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:179 ../gui/wxpython/menustrings.py:1317 +msgid "Output format for raster data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:180 ../gui/wxpython/menustrings.py:1318 +msgid "Redirects raster output to file utilizing GDAL library rather than storing in GRASS raster format." +msgstr "" + +#: ../gui/wxpython/menustrings.py:181 ../gui/wxpython/menustrings.py:1319 +msgid "Output format for vector data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:182 ../gui/wxpython/menustrings.py:1320 +msgid "Defines vector output format utilizing OGR library." +msgstr "" + +#: ../gui/wxpython/menustrings.py:183 ../gui/wxpython/menustrings.py:1321 +msgid "Manage maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:185 ../gui/wxpython/menustrings.py:1323 +msgid "Creates copies of maps and other elements Copies available data files in the current mapset search path to the user's current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:186 ../gui/wxpython/menustrings.py:1062 +#: ../gui/wxpython/menustrings.py:1324 ../gui/wxpython/menustrings.py:2123 +msgid "List" +msgstr "" + +#: ../gui/wxpython/menustrings.py:187 ../gui/wxpython/menustrings.py:1325 +msgid "Lists available GRASS data base files of the user-specified data type optionally using the search pattern." +msgstr "" + +#: ../gui/wxpython/menustrings.py:189 ../gui/wxpython/menustrings.py:1327 +msgid "Renames data base element files in the user's current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:190 ../gui/wxpython/menustrings.py:1328 +#: ../gui/wxpython/menustrings.py:2359 ../gui/wxpython/nviz/tools.py:1449 +#: ../gui/wxpython/nviz/tools.py:2482 ../gui/wxpython/nviz/tools.py:2544 +#: ../gui/wxpython/psmap/dialogs.py:1858 +msgid "Delete" +msgstr "" + +#: ../gui/wxpython/menustrings.py:191 ../gui/wxpython/menustrings.py:1329 +msgid "Removes data base element files from the user's current mapset using the search pattern." +msgstr "" + +#: ../gui/wxpython/menustrings.py:192 ../gui/wxpython/menustrings.py:264 +#: ../gui/wxpython/menustrings.py:1330 +msgid "Download project from web" +msgstr "" + +#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:265 +#: ../gui/wxpython/menustrings.py:1331 +msgid "Download GRASS project from the web Get GRASS project from an URL or file path" +msgstr "" + +#: ../gui/wxpython/menustrings.py:194 ../gui/wxpython/menustrings.py:278 +#: ../gui/wxpython/menustrings.py:1332 +msgid "Rebuild or remove all addons" +msgstr "" + +#: ../gui/wxpython/menustrings.py:195 ../gui/wxpython/menustrings.py:279 +#: ../gui/wxpython/menustrings.py:1333 +msgid "Rebuilds or removes all locally installed GRASS Addons extensions. By default only extensions built against different GIS Library are rebuilt." +msgstr "" + +#: ../gui/wxpython/menustrings.py:196 ../gui/wxpython/menustrings.py:342 +#: ../gui/wxpython/menustrings.py:661 ../gui/wxpython/menustrings.py:953 +#: ../gui/wxpython/menustrings.py:1403 ../gui/wxpython/menustrings.py:1722 +#: ../gui/wxpython/menustrings.py:2014 +msgid "Map type conversions" +msgstr "" + +#: ../gui/wxpython/menustrings.py:197 ../gui/wxpython/menustrings.py:343 +#: ../gui/wxpython/menustrings.py:1404 +msgid "Raster to vector" +msgstr "" + +#: ../gui/wxpython/menustrings.py:198 ../gui/wxpython/menustrings.py:344 +#: ../gui/wxpython/menustrings.py:1405 +msgid "Converts a raster map into a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:199 ../gui/wxpython/menustrings.py:345 +#: ../gui/wxpython/menustrings.py:1406 +msgid "Raster series to 3D raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:200 ../gui/wxpython/menustrings.py:346 +#: ../gui/wxpython/menustrings.py:1407 +msgid "Converts 2D raster map slices to one 3D raster volume map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:201 ../gui/wxpython/menustrings.py:347 +#: ../gui/wxpython/menustrings.py:1408 +msgid "Raster 2.5D to 3D raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:202 ../gui/wxpython/menustrings.py:348 +#: ../gui/wxpython/menustrings.py:1409 +msgid "Creates a 3D volume map based on 2D elevation and value raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:203 ../gui/wxpython/menustrings.py:662 +#: ../gui/wxpython/menustrings.py:1723 +msgid "Vector to raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:204 ../gui/wxpython/menustrings.py:663 +#: ../gui/wxpython/menustrings.py:1724 +msgid "Converts (rasterize) a vector map into a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:205 ../gui/wxpython/menustrings.py:664 +#: ../gui/wxpython/menustrings.py:1725 +msgid "Vector to 3D raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:206 ../gui/wxpython/menustrings.py:665 +#: ../gui/wxpython/menustrings.py:1726 +msgid "Converts a vector map (only points) into a 3D raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/menustrings.py:666 +#: ../gui/wxpython/menustrings.py:1727 +msgid "2D vector to 3D vector" +msgstr "" + +#: ../gui/wxpython/menustrings.py:208 ../gui/wxpython/menustrings.py:667 +#: ../gui/wxpython/menustrings.py:1728 +msgid "Performs transformation of 2D vector features to 3D." +msgstr "" + +#: ../gui/wxpython/menustrings.py:209 +msgid "3D raster to raster series" +msgstr "" + +#: ../gui/wxpython/menustrings.py:210 ../gui/wxpython/menustrings.py:955 +#: ../gui/wxpython/menustrings.py:2016 +msgid "Converts 3D raster maps to 2D raster maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:212 +msgid "Launches Simple Python Editor." +msgstr "" + +#: ../gui/wxpython/menustrings.py:213 +msgid "Launch script" +msgstr "" + +#: ../gui/wxpython/menustrings.py:214 +msgid "Launches script file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:216 +msgid "Launch Jupyter Notebook interface." +msgstr "" + +#: ../gui/wxpython/menustrings.py:217 ../gui/wxpython/menustrings.py:2236 +msgid "Graphical modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:218 ../gui/wxpython/menustrings.py:2237 +msgid "Launch Graphical modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:220 +msgid "Run model prepared by Graphical modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:222 ../gui/wxpython/menustrings.py:2235 +msgid "Manage Ground Control Points for Georectification" +msgstr "" + +#: ../gui/wxpython/menustrings.py:223 ../gui/wxpython/menustrings.py:1156 +#: ../gui/wxpython/menustrings.py:2217 ../gui/wxpython/menustrings.py:2224 +msgid "Animation tool" +msgstr "" + +#: ../gui/wxpython/menustrings.py:224 ../gui/wxpython/menustrings.py:1157 +#: ../gui/wxpython/menustrings.py:2218 ../gui/wxpython/menustrings.py:2225 +msgid "Launch animation tool." +msgstr "" + +#: ../gui/wxpython/menustrings.py:226 ../gui/wxpython/menustrings.py:2229 +msgid "Launch Cartographic Composer" +msgstr "" + +#: ../gui/wxpython/menustrings.py:228 ../gui/wxpython/menustrings.py:2243 +msgid "Launch Map Swipe" +msgstr "" + +#: ../gui/wxpython/menustrings.py:230 +msgid "Close graphical user interface." +msgstr "" + +#: ../gui/wxpython/menustrings.py:232 +msgid "Close GUI and exit GRASS shell." +msgstr "" + +#: ../gui/wxpython/menustrings.py:233 ../gui/wxpython/menustrings.py:2292 +msgid "&Settings" +msgstr "" + +#: ../gui/wxpython/menustrings.py:235 ../gui/wxpython/menustrings.py:1335 +msgid "Show current region" +msgstr "" + +#: ../gui/wxpython/menustrings.py:236 ../gui/wxpython/menustrings.py:238 +#: ../gui/wxpython/menustrings.py:1336 ../gui/wxpython/menustrings.py:1338 +msgid "Shows the extent and resolution of the computational region." +msgstr "" + +#: ../gui/wxpython/menustrings.py:237 ../gui/wxpython/menustrings.py:1337 +msgid "Show region using latitude and longitude" +msgstr "" + +#: ../gui/wxpython/menustrings.py:239 ../gui/wxpython/menustrings.py:1339 +msgid "Show current region extent in Map Display" +msgstr "" + +#: ../gui/wxpython/menustrings.py:240 ../gui/wxpython/menustrings.py:1340 +msgid "Shows the extent of the computational region in Map Display." +msgstr "" + +#: ../gui/wxpython/menustrings.py:241 ../gui/wxpython/menustrings.py:1341 +msgid "Set region" +msgstr "" + +#: ../gui/wxpython/menustrings.py:242 ../gui/wxpython/menustrings.py:1342 +msgid "Manages the boundary definitions for the geographic region." +msgstr "" + +#: ../gui/wxpython/menustrings.py:243 +msgid "GRASS working environment" +msgstr "" + +#: ../gui/wxpython/menustrings.py:244 +msgid "Mapset access" +msgstr "" + +#: ../gui/wxpython/menustrings.py:245 +msgid "Set/unset access to other mapsets in current project" +msgstr "" + +#: ../gui/wxpython/menustrings.py:246 +msgid "User access" +msgstr "" + +#: ../gui/wxpython/menustrings.py:247 +msgid "Controls access to the current mapset for other users on the system. If no option given, prints current status." +msgstr "" + +#: ../gui/wxpython/menustrings.py:248 +msgid "Change working environment" +msgstr "" + +#: ../gui/wxpython/menustrings.py:249 +msgid "Changes or reports current mapset. Optionally, creates new mapset or lists available mapsets in given project (location)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:250 +msgid "Change project (location) and mapset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:251 +msgid "Change current project and mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:252 +msgid "Change mapset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:253 +msgid "Change current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:254 ../gui/wxpython/menustrings.py:255 +msgid "Change working directory" +msgstr "" + +#: ../gui/wxpython/menustrings.py:256 +msgid "Show settings" +msgstr "" + +#: ../gui/wxpython/menustrings.py:257 +msgid "Outputs and modifies the user's current GRASS variable settings." +msgstr "" + +#: ../gui/wxpython/menustrings.py:258 +msgid "Change settings" +msgstr "" + +#: ../gui/wxpython/menustrings.py:259 +msgid "Outputs and modifies the user's current GRASS variable settings. Prints all defined GRASS variables if no option is given." +msgstr "" + +#: ../gui/wxpython/menustrings.py:260 +msgid "Create new project (location)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:261 +msgid "Launches project wizard to create a new GRASS project (also known as location)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:263 +msgid "Creates new mapset in the current project, changes current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:266 +msgid "Map projections" +msgstr "" + +#: ../gui/wxpython/menustrings.py:267 +msgid "Display map projection" +msgstr "" + +#: ../gui/wxpython/menustrings.py:268 +msgid "Converts coordinate system descriptions (i.e. projection information) between various formats (including GRASS format)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:269 +msgid "Manage projections" +msgstr "" + +#: ../gui/wxpython/menustrings.py:270 +msgid "Prints or modifies GRASS projection information files (in various coordinate system descriptions). Can also be used to create new GRASS projects." +msgstr "" + +#: ../gui/wxpython/menustrings.py:271 +msgid "Convert coordinates" +msgstr "" + +#: ../gui/wxpython/menustrings.py:272 ../gui/wxpython/menustrings.py:2264 +msgid "Converts coordinates from one projection to another (cs2cs frontend)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:273 +msgid "Addons extensions" +msgstr "" + +#: ../gui/wxpython/menustrings.py:274 +msgid "Install extension from addons" +msgstr "" + +#: ../gui/wxpython/menustrings.py:275 +msgid "Installs new extension from GRASS AddOns repository." +msgstr "" + +#: ../gui/wxpython/menustrings.py:276 +msgid "Manage installed extension" +msgstr "" + +#: ../gui/wxpython/menustrings.py:277 +msgid "Updates or removes installed GRASS AddOns extension(s)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:280 ../gui/wxpython/menustrings.py:2293 +msgid "Preferences" +msgstr "" + +#: ../gui/wxpython/menustrings.py:281 +msgid "User GUI preferences (display font, commands, digitizer, etc.)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:282 ../gui/wxpython/menustrings.py:1343 +msgid "&Raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:283 ../gui/wxpython/menustrings.py:1344 +msgid "Develop raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:284 ../gui/wxpython/menustrings.py:1345 +msgid "Compress/decompress" +msgstr "" + +#: ../gui/wxpython/menustrings.py:285 ../gui/wxpython/menustrings.py:1346 +msgid "Compresses and decompresses raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:286 ../gui/wxpython/menustrings.py:1347 +msgid "Region boundaries" +msgstr "" + +#: ../gui/wxpython/menustrings.py:287 ../gui/wxpython/menustrings.py:1348 +msgid "Sets the boundary definitions for a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:288 ../gui/wxpython/menustrings.py:1349 +msgid "Manage NULL values" +msgstr "" + +#: ../gui/wxpython/menustrings.py:289 ../gui/wxpython/menustrings.py:1350 +msgid "Manages NULL-values of given raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:290 ../gui/wxpython/menustrings.py:1351 +msgid "Quantization" +msgstr "" + +#: ../gui/wxpython/menustrings.py:291 ../gui/wxpython/menustrings.py:1352 +msgid "Produces the quantization file for a floating-point map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:292 ../gui/wxpython/menustrings.py:1353 +msgid "Timestamp" +msgstr "" + +#: ../gui/wxpython/menustrings.py:293 ../gui/wxpython/menustrings.py:1354 +msgid "Modifies a timestamp for a raster map. Print/add/remove a timestamp for a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:294 ../gui/wxpython/menustrings.py:1355 +msgid "Resample using aggregate statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:295 ../gui/wxpython/menustrings.py:1356 +msgid "Resamples raster map layers to a coarser grid using aggregation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:296 ../gui/wxpython/menustrings.py:1357 +msgid "Resample using multiple methods" +msgstr "" + +#: ../gui/wxpython/menustrings.py:297 ../gui/wxpython/menustrings.py:1358 +msgid "Resamples raster map to a finer grid using interpolation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:298 ../gui/wxpython/menustrings.py:1359 +msgid "Resample using nearest neighbor" +msgstr "" + +#: ../gui/wxpython/menustrings.py:299 ../gui/wxpython/menustrings.py:1360 +msgid "GRASS raster map layer data resampling capability." +msgstr "" + +#: ../gui/wxpython/menustrings.py:300 ../gui/wxpython/menustrings.py:1361 +msgid "Resample using spline tension" +msgstr "" + +#: ../gui/wxpython/menustrings.py:301 ../gui/wxpython/menustrings.py:1362 +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 "" + +#: ../gui/wxpython/menustrings.py:302 ../gui/wxpython/menustrings.py:1363 +msgid "Resample using bspline" +msgstr "" + +#: ../gui/wxpython/menustrings.py:303 ../gui/wxpython/menustrings.py:1364 +msgid "Performs bilinear or bicubic spline interpolation with Tykhonov regularization." +msgstr "" + +#: ../gui/wxpython/menustrings.py:304 ../gui/wxpython/menustrings.py:1365 +msgid "Resample using analytic kernel" +msgstr "" + +#: ../gui/wxpython/menustrings.py:305 ../gui/wxpython/menustrings.py:1366 +msgid "Resamples raster map layers using an analytic kernel." +msgstr "" + +#: ../gui/wxpython/menustrings.py:306 ../gui/wxpython/menustrings.py:617 +#: ../gui/wxpython/menustrings.py:951 ../gui/wxpython/menustrings.py:1367 +#: ../gui/wxpython/menustrings.py:1678 ../gui/wxpython/menustrings.py:2012 +msgid "Support file maintenance" +msgstr "" + +#: ../gui/wxpython/menustrings.py:307 ../gui/wxpython/menustrings.py:1368 +msgid "Allows creation and/or modification of raster map layer support files." +msgstr "" + +#: ../gui/wxpython/menustrings.py:308 ../gui/wxpython/menustrings.py:1369 +msgid "Update map statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:309 ../gui/wxpython/menustrings.py:1370 +msgid "Update raster map statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:312 ../gui/wxpython/menustrings.py:1373 +msgid "Tiling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:313 ../gui/wxpython/menustrings.py:1374 +msgid "Produces tilings of the source projection for use in the destination region and projection." +msgstr "" + +#: ../gui/wxpython/menustrings.py:314 ../gui/wxpython/menustrings.py:1375 +msgid "Build a VRT (Virtual Raster)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:315 ../gui/wxpython/menustrings.py:1376 +msgid "Build a VRT (Virtual Raster) from the list of input raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:316 ../gui/wxpython/menustrings.py:1377 +msgid "Tile raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:317 ../gui/wxpython/menustrings.py:1378 +msgid "Splits a raster map into tiles." +msgstr "" + +#: ../gui/wxpython/menustrings.py:318 ../gui/wxpython/menustrings.py:1379 +msgid "Manage semantic labels" +msgstr "" + +#: ../gui/wxpython/menustrings.py:319 ../gui/wxpython/menustrings.py:1380 +msgid "Manages semantic label information assigned to a single raster map or to a list of raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:320 ../gui/wxpython/menustrings.py:644 +#: ../gui/wxpython/menustrings.py:1381 ../gui/wxpython/menustrings.py:1705 +msgid "Manage colors" +msgstr "" + +#: ../gui/wxpython/menustrings.py:321 ../gui/wxpython/menustrings.py:645 +#: ../gui/wxpython/menustrings.py:1382 ../gui/wxpython/menustrings.py:1706 +msgid "Color tables" +msgstr "" + +#: ../gui/wxpython/menustrings.py:322 ../gui/wxpython/menustrings.py:1383 +msgid "Creates/modifies the color table associated with a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:323 ../gui/wxpython/menustrings.py:1384 +msgid "Color tables (stddev)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:324 ../gui/wxpython/menustrings.py:1385 +msgid "Sets color rules based on stddev from a raster map's mean value." +msgstr "" + +#: ../gui/wxpython/menustrings.py:325 ../gui/wxpython/menustrings.py:647 +#: ../gui/wxpython/menustrings.py:1386 ../gui/wxpython/menustrings.py:1708 +msgid "Manage color rules interactively" +msgstr "" + +#: ../gui/wxpython/menustrings.py:326 ../gui/wxpython/menustrings.py:1387 +msgid "Interactive management of raster color tables." +msgstr "" + +#: ../gui/wxpython/menustrings.py:327 ../gui/wxpython/menustrings.py:649 +#: ../gui/wxpython/menustrings.py:1388 ../gui/wxpython/menustrings.py:1710 +msgid "Export color table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:328 ../gui/wxpython/menustrings.py:1389 +msgid "Exports the color table associated with a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:329 ../gui/wxpython/menustrings.py:1390 +msgid "Blend 2 color rasters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:330 ../gui/wxpython/menustrings.py:1391 +msgid "Blends color components of two raster maps by a given ratio." +msgstr "" + +#: ../gui/wxpython/menustrings.py:331 ../gui/wxpython/menustrings.py:1392 +msgid "Create RGB" +msgstr "" + +#: ../gui/wxpython/menustrings.py:332 ../gui/wxpython/menustrings.py:1393 +msgid "Combines red, green and blue raster maps into a single composite raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:333 ../gui/wxpython/menustrings.py:831 +#: ../gui/wxpython/menustrings.py:1394 ../gui/wxpython/menustrings.py:1892 +msgid "RGB to HIS" +msgstr "" + +#: ../gui/wxpython/menustrings.py:334 ../gui/wxpython/menustrings.py:1395 +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 "" + +#: ../gui/wxpython/menustrings.py:335 ../gui/wxpython/menustrings.py:1396 +msgid "Split raster into RGB" +msgstr "" + +#: ../gui/wxpython/menustrings.py:336 ../gui/wxpython/menustrings.py:1397 +msgid "Splits a raster map into red, green and blue maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:337 ../gui/wxpython/menustrings.py:1398 +msgid "Query raster maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:338 ../gui/wxpython/menustrings.py:1399 +msgid "Query values by coordinates" +msgstr "" + +#: ../gui/wxpython/menustrings.py:339 ../gui/wxpython/menustrings.py:1400 +msgid "Queries raster maps on their category values and category labels." +msgstr "" + +#: ../gui/wxpython/menustrings.py:340 ../gui/wxpython/menustrings.py:1401 +msgid "Query colors by value" +msgstr "" + +#: ../gui/wxpython/menustrings.py:341 ../gui/wxpython/menustrings.py:1402 +msgid "Queries colors for a raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:349 ../gui/wxpython/menustrings.py:1410 +msgid "Raster buffers and distance" +msgstr "" + +#: ../gui/wxpython/menustrings.py:350 ../gui/wxpython/menustrings.py:1411 +msgid "Buffer rasters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:351 ../gui/wxpython/menustrings.py:1412 +msgid "Creates a raster map showing buffer zones surrounding cells that contain non-NULL category values." +msgstr "" + +#: ../gui/wxpython/menustrings.py:352 ../gui/wxpython/menustrings.py:1413 +msgid "Buffer rasters (low memory)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:353 ../gui/wxpython/menustrings.py:1414 +msgid "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." +msgstr "" + +#: ../gui/wxpython/menustrings.py:354 ../gui/wxpython/menustrings.py:1415 +msgid "Concentric circles" +msgstr "" + +#: ../gui/wxpython/menustrings.py:355 ../gui/wxpython/menustrings.py:1416 +msgid "Creates a raster map containing concentric rings around a given point." +msgstr "" + +#: ../gui/wxpython/menustrings.py:356 ../gui/wxpython/menustrings.py:1417 +msgid "Closest points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:357 ../gui/wxpython/menustrings.py:1418 +msgid "Locates the closest points between objects in two raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:358 ../gui/wxpython/menustrings.py:1419 +msgid "Grow by one cell" +msgstr "" + +#: ../gui/wxpython/menustrings.py:359 ../gui/wxpython/menustrings.py:431 +#: ../gui/wxpython/menustrings.py:1420 ../gui/wxpython/menustrings.py:1492 +msgid "Generates a raster map layer with contiguous areas grown by one cell." +msgstr "" + +#: ../gui/wxpython/menustrings.py:360 ../gui/wxpython/menustrings.py:423 +#: ../gui/wxpython/menustrings.py:1421 ../gui/wxpython/menustrings.py:1484 +msgid "Distance to features" +msgstr "" + +#: ../gui/wxpython/menustrings.py:361 ../gui/wxpython/menustrings.py:424 +#: ../gui/wxpython/menustrings.py:1422 ../gui/wxpython/menustrings.py:1485 +msgid "Generates a raster map containing distances to nearest raster features and/or the value of the nearest non-null cell." +msgstr "" + +#: ../gui/wxpython/menustrings.py:363 ../gui/wxpython/menustrings.py:1424 +msgid "Creates a raster mask for limiting raster operation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:364 ../gui/wxpython/menustrings.py:1425 +msgid "Query mask status" +msgstr "" + +#: ../gui/wxpython/menustrings.py:365 ../gui/wxpython/menustrings.py:1426 +msgid "Reports presence or absence of a raster mask Provides information about the presence of a 2D raster mask as text output or return code" +msgstr "" + +#: ../gui/wxpython/menustrings.py:366 ../gui/wxpython/menustrings.py:369 +#: ../gui/wxpython/menustrings.py:1427 ../gui/wxpython/menustrings.py:1430 +msgid "Raster map calculator" +msgstr "" + +#: ../gui/wxpython/menustrings.py:367 ../gui/wxpython/menustrings.py:1428 +msgid "Simplified raster map calculator" +msgstr "" + +#: ../gui/wxpython/menustrings.py:368 ../gui/wxpython/menustrings.py:1429 +msgid "Calculates a new raster map from a simple r.mapcalc expression." +msgstr "" + +#: ../gui/wxpython/menustrings.py:370 ../gui/wxpython/menustrings.py:1431 +msgid "Raster map calculator." +msgstr "" + +#: ../gui/wxpython/menustrings.py:371 ../gui/wxpython/menustrings.py:1432 +msgid "Neighborhood analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:372 ../gui/wxpython/menustrings.py:1433 +#: ../gui/wxpython/rlisetup/wizard.py:984 +msgid "Moving window" +msgstr "" + +#: ../gui/wxpython/menustrings.py:373 ../gui/wxpython/menustrings.py:1434 +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 "" + +#: ../gui/wxpython/menustrings.py:374 ../gui/wxpython/menustrings.py:1435 +msgid "Neighborhood points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:375 ../gui/wxpython/menustrings.py:1436 +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 in a radius around it, and stores new cell values in an output raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:376 ../gui/wxpython/menustrings.py:1437 +msgid "Overlay rasters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:377 ../gui/wxpython/menustrings.py:1438 +msgid "Cross product" +msgstr "" + +#: ../gui/wxpython/menustrings.py:378 ../gui/wxpython/menustrings.py:1439 +msgid "Creates a cross product of the category values from multiple raster map layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:379 ../gui/wxpython/menustrings.py:1440 +msgid "Patch raster maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:380 ../gui/wxpython/menustrings.py:1441 +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 "" + +#: ../gui/wxpython/menustrings.py:381 ../gui/wxpython/menustrings.py:1442 +msgid "Raster series aggregation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:382 ../gui/wxpython/menustrings.py:1443 +msgid "Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:383 ../gui/wxpython/menustrings.py:1444 +msgid "Raster series accumulation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:384 ../gui/wxpython/menustrings.py:1445 +msgid "Makes each output cell value a accumulationfunction of the values assigned to the corresponding cells in the input raster map layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:385 ../gui/wxpython/menustrings.py:1446 +msgid "Statistical overlay" +msgstr "" + +#: ../gui/wxpython/menustrings.py:386 ../gui/wxpython/menustrings.py:1447 +msgid "Calculates category or object oriented statistics (accumulator-based statistics)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:387 ../gui/wxpython/menustrings.py:1448 +msgid "Quantiles overlay" +msgstr "" + +#: ../gui/wxpython/menustrings.py:388 ../gui/wxpython/menustrings.py:1449 +msgid "Compute category quantiles using two passes." +msgstr "" + +#: ../gui/wxpython/menustrings.py:389 ../gui/wxpython/menustrings.py:1450 +msgid "Solar radiance and shadows" +msgstr "" + +#: ../gui/wxpython/menustrings.py:390 ../gui/wxpython/menustrings.py:1451 +msgid "LatLong map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:391 ../gui/wxpython/menustrings.py:1452 +msgid "Creates a latitude/longitude raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:392 ../gui/wxpython/menustrings.py:1453 +msgid "Solar irradiance and irradiation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:393 ../gui/wxpython/menustrings.py:1454 +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 "" + +#: ../gui/wxpython/menustrings.py:394 ../gui/wxpython/menustrings.py:1455 +msgid "Shadows map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:395 ../gui/wxpython/menustrings.py:1456 +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 "" + +#: ../gui/wxpython/menustrings.py:396 ../gui/wxpython/menustrings.py:1457 +msgid "Sunshine hours and solar angles" +msgstr "" + +#: ../gui/wxpython/menustrings.py:397 ../gui/wxpython/menustrings.py:1458 +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:398 ../gui/wxpython/menustrings.py:1459 +msgid "Terrain analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:399 ../gui/wxpython/menustrings.py:1460 +msgid "Generate contour lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:400 ../gui/wxpython/menustrings.py:1461 +msgid "Produces a vector map of specified contours from a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:401 ../gui/wxpython/menustrings.py:1462 +msgid "Cost surface" +msgstr "" + +#: ../gui/wxpython/menustrings.py:402 ../gui/wxpython/menustrings.py:1463 +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 "" + +#: ../gui/wxpython/menustrings.py:403 ../gui/wxpython/menustrings.py:1464 +msgid "Trace a path" +msgstr "" + +#: ../gui/wxpython/menustrings.py:404 ../gui/wxpython/menustrings.py:1465 +msgid "Traces paths from starting points following input directions." +msgstr "" + +#: ../gui/wxpython/menustrings.py:405 ../gui/wxpython/menustrings.py:1466 +msgid "Cumulative movement costs" +msgstr "" + +#: ../gui/wxpython/menustrings.py:406 ../gui/wxpython/menustrings.py:1467 +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 "" + +#: ../gui/wxpython/menustrings.py:407 ../gui/wxpython/menustrings.py:1468 +msgid "Least cost route or flow" +msgstr "" + +#: ../gui/wxpython/menustrings.py:408 ../gui/wxpython/menustrings.py:1469 +msgid "Traces a flow through an elevation model or cost surface on a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:409 ../gui/wxpython/menustrings.py:1470 +msgid "Compute shaded relief" +msgstr "" + +#: ../gui/wxpython/menustrings.py:410 ../gui/wxpython/menustrings.py:1471 +msgid "Creates shaded relief map from an elevation map (DEM)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:411 ../gui/wxpython/menustrings.py:1472 +msgid "Apply shade to raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:412 ../gui/wxpython/menustrings.py:1473 +msgid "Drapes a color raster over an shaded relief or aspect map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:413 ../gui/wxpython/menustrings.py:1474 +msgid "Slope and aspect" +msgstr "" + +#: ../gui/wxpython/menustrings.py:414 ../gui/wxpython/menustrings.py:1475 +msgid "Generates raster maps of slope, aspect, curvatures and partial derivatives from an elevation raster map. Aspect is calculated counterclockwise from east." +msgstr "" + +#: ../gui/wxpython/menustrings.py:415 ../gui/wxpython/menustrings.py:1476 +msgid "Landforms" +msgstr "" + +#: ../gui/wxpython/menustrings.py:416 ../gui/wxpython/menustrings.py:1477 +msgid "Calculates geomorphons (terrain forms) and associated geometry using machine vision approach." +msgstr "" + +#: ../gui/wxpython/menustrings.py:417 ../gui/wxpython/menustrings.py:1478 +msgid "Terrain parameters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:418 ../gui/wxpython/menustrings.py:1479 +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 "" + +#: ../gui/wxpython/menustrings.py:419 ../gui/wxpython/menustrings.py:1480 +msgid "Textural features" +msgstr "" + +#: ../gui/wxpython/menustrings.py:420 ../gui/wxpython/menustrings.py:1481 +msgid "Generate images with textural features from a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:421 ../gui/wxpython/menustrings.py:1482 +msgid "Visibility" +msgstr "" + +#: ../gui/wxpython/menustrings.py:422 ../gui/wxpython/menustrings.py:1483 +msgid "Computes the viewshed of a point on an elevation raster map. Default format: NULL (invisible), vertical angle wrt viewpoint (visible)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:425 ../gui/wxpython/menustrings.py:1486 +msgid "Horizon angle" +msgstr "" + +#: ../gui/wxpython/menustrings.py:426 ../gui/wxpython/menustrings.py:1487 +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:427 ../gui/wxpython/menustrings.py:1488 +msgid "Transform features" +msgstr "" + +#: ../gui/wxpython/menustrings.py:428 ../gui/wxpython/menustrings.py:1489 +msgid "Clump" +msgstr "" + +#: ../gui/wxpython/menustrings.py:429 ../gui/wxpython/menustrings.py:1490 +msgid "Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories." +msgstr "" + +#: ../gui/wxpython/menustrings.py:430 ../gui/wxpython/menustrings.py:1491 +msgid "Grow" +msgstr "" + +#: ../gui/wxpython/menustrings.py:432 ../gui/wxpython/menustrings.py:1493 +msgid "Thin" +msgstr "" + +#: ../gui/wxpython/menustrings.py:433 ../gui/wxpython/menustrings.py:1494 +msgid "Thins non-null cells that denote linear features in a raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:434 ../gui/wxpython/menustrings.py:1495 +msgid "Hydrologic modeling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:435 ../gui/wxpython/menustrings.py:1496 +msgid "Carve stream channels" +msgstr "" + +#: ../gui/wxpython/menustrings.py:436 ../gui/wxpython/menustrings.py:1497 +msgid "Generates stream channels. Takes vector stream data, transforms it to raster and subtracts depth from the output DEM." +msgstr "" + +#: ../gui/wxpython/menustrings.py:437 ../gui/wxpython/menustrings.py:1498 +msgid "Fill lake" +msgstr "" + +#: ../gui/wxpython/menustrings.py:438 ../gui/wxpython/menustrings.py:1499 +msgid "Fills lake at given point to given level." +msgstr "" + +#: ../gui/wxpython/menustrings.py:439 ../gui/wxpython/menustrings.py:1500 +msgid "Depressionless map and flowlines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:440 ../gui/wxpython/menustrings.py:1501 +msgid "Filters and generates a depressionless elevation map and a flow direction map from a given elevation raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:441 ../gui/wxpython/menustrings.py:1502 +msgid "Flow accumulation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:442 ../gui/wxpython/menustrings.py:1503 +msgid "Performs flow computation for massive grids." +msgstr "" + +#: ../gui/wxpython/menustrings.py:443 ../gui/wxpython/menustrings.py:1504 +msgid "Flow lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:444 ../gui/wxpython/menustrings.py:1505 +msgid "Constructs flowlines. Computes flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a elevation raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:445 ../gui/wxpython/menustrings.py:1506 +msgid "Watershed analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:446 ../gui/wxpython/menustrings.py:1507 +msgid "Calculates hydrological parameters and RUSLE factors." +msgstr "" + +#: ../gui/wxpython/menustrings.py:447 ../gui/wxpython/menustrings.py:1508 +msgid "Watershed subbasins" +msgstr "" + +#: ../gui/wxpython/menustrings.py:448 ../gui/wxpython/menustrings.py:1509 +msgid "Generates watershed subbasins raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:449 ../gui/wxpython/menustrings.py:1510 +msgid "Watershed basin creation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:450 ../gui/wxpython/menustrings.py:1511 +msgid "Creates watershed basins from a drainage direction map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:451 ../gui/wxpython/menustrings.py:1512 +msgid "Extraction of stream networks" +msgstr "" + +#: ../gui/wxpython/menustrings.py:452 ../gui/wxpython/menustrings.py:1513 +msgid "Performs stream network extraction." +msgstr "" + +#: ../gui/wxpython/menustrings.py:453 ../gui/wxpython/menustrings.py:1514 +msgid "SIMWE Overland flow modeling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:454 ../gui/wxpython/menustrings.py:1515 +msgid "Overland flow hydrologic simulation using path sampling method (SIMWE)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:455 ../gui/wxpython/menustrings.py:1516 +msgid "SIMWE Sediment flux modeling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:456 ../gui/wxpython/menustrings.py:1517 +msgid "Sediment transport and erosion/deposition simulation using path sampling method (SIMWE)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:457 ../gui/wxpython/menustrings.py:1518 +msgid "Topographic index map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:458 ../gui/wxpython/menustrings.py:1519 +msgid "Creates a topographic index (wetness index) raster map from an elevation raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:459 ../gui/wxpython/menustrings.py:1520 +msgid "TOPMODEL simulation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:460 ../gui/wxpython/menustrings.py:1521 +msgid "Simulates TOPMODEL which is a physically based hydrologic model." +msgstr "" + +#: ../gui/wxpython/menustrings.py:461 ../gui/wxpython/menustrings.py:1522 +msgid "USLE K-factor" +msgstr "" + +#: ../gui/wxpython/menustrings.py:462 ../gui/wxpython/menustrings.py:1523 +msgid "Computes USLE Soil Erodibility Factor (K)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:463 ../gui/wxpython/menustrings.py:1524 +msgid "USLE R-factor" +msgstr "" + +#: ../gui/wxpython/menustrings.py:464 ../gui/wxpython/menustrings.py:1525 +msgid "Computes USLE R factor, Rainfall erosivity index." +msgstr "" + +#: ../gui/wxpython/menustrings.py:465 ../gui/wxpython/menustrings.py:966 +#: ../gui/wxpython/menustrings.py:1526 ../gui/wxpython/menustrings.py:2027 +msgid "Groundwater modeling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:466 ../gui/wxpython/menustrings.py:1527 +msgid "Groundwater flow" +msgstr "" + +#: ../gui/wxpython/menustrings.py:467 ../gui/wxpython/menustrings.py:1528 +msgid "Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions." +msgstr "" + +#: ../gui/wxpython/menustrings.py:468 ../gui/wxpython/menustrings.py:1529 +msgid "Groundwater solute transport" +msgstr "" + +#: ../gui/wxpython/menustrings.py:469 ../gui/wxpython/menustrings.py:1530 +msgid "Numerical calculation program for transient, confined and unconfined solute transport in two dimensions" +msgstr "" + +#: ../gui/wxpython/menustrings.py:470 ../gui/wxpython/menustrings.py:1531 +msgid "Landscape patch analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:471 ../gui/wxpython/menustrings.py:1532 +#: ../gui/wxpython/menustrings.py:2244 +msgid "Set up sampling and analysis framework" +msgstr "" + +#: ../gui/wxpython/menustrings.py:472 ../gui/wxpython/menustrings.py:1533 +#: ../gui/wxpython/menustrings.py:2245 +msgid "Configuration editor for r.li.'index'" +msgstr "" + +#: ../gui/wxpython/menustrings.py:473 ../gui/wxpython/menustrings.py:1534 +msgid "Edge density" +msgstr "" + +#: ../gui/wxpython/menustrings.py:474 ../gui/wxpython/menustrings.py:1535 +msgid "Calculates edge density index on a raster map, using a 4 neighbour algorithm" +msgstr "" + +#: ../gui/wxpython/menustrings.py:475 ../gui/wxpython/menustrings.py:1536 +msgid "Contrast weighted edge density" +msgstr "" + +#: ../gui/wxpython/menustrings.py:476 ../gui/wxpython/menustrings.py:1537 +msgid "Calculates contrast weighted edge density index on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:477 ../gui/wxpython/menustrings.py:1538 +msgid "Patch area mean" +msgstr "" + +#: ../gui/wxpython/menustrings.py:478 ../gui/wxpython/menustrings.py:1539 +msgid "Calculates mean patch size index on a raster map, using a 4 neighbour algorithm" +msgstr "" + +#: ../gui/wxpython/menustrings.py:479 ../gui/wxpython/menustrings.py:1540 +msgid "Patch area range" +msgstr "" + +#: ../gui/wxpython/menustrings.py:480 ../gui/wxpython/menustrings.py:1541 +msgid "Calculates range of patch area size on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:481 ../gui/wxpython/menustrings.py:1542 +msgid "Patch area Std Dev" +msgstr "" + +#: ../gui/wxpython/menustrings.py:482 ../gui/wxpython/menustrings.py:1543 +msgid "Calculates standard deviation of patch area a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:483 ../gui/wxpython/menustrings.py:1544 +msgid "Patch area Coeff Var" +msgstr "" + +#: ../gui/wxpython/menustrings.py:484 ../gui/wxpython/menustrings.py:1545 +msgid "Calculates coefficient of variation of patch area on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:485 ../gui/wxpython/menustrings.py:1546 +msgid "Patch density" +msgstr "" + +#: ../gui/wxpython/menustrings.py:486 ../gui/wxpython/menustrings.py:1547 +msgid "Calculates patch density index on a raster map, using a 4 neighbour algorithm" +msgstr "" + +#: ../gui/wxpython/menustrings.py:487 ../gui/wxpython/menustrings.py:1548 +msgid "Patch number" +msgstr "" + +#: ../gui/wxpython/menustrings.py:488 ../gui/wxpython/menustrings.py:1549 +msgid "Calculates patch number index on a raster map, using a 4 neighbour algorithm." +msgstr "" + +#: ../gui/wxpython/menustrings.py:489 ../gui/wxpython/menustrings.py:1550 +msgid "Dominance's diversity" +msgstr "" + +#: ../gui/wxpython/menustrings.py:490 ../gui/wxpython/menustrings.py:1551 +msgid "Calculates dominance's diversity index on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:491 ../gui/wxpython/menustrings.py:1552 +msgid "Shannon's diversity" +msgstr "" + +#: ../gui/wxpython/menustrings.py:492 ../gui/wxpython/menustrings.py:1553 +msgid "Calculates Shannon's diversity index on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:493 ../gui/wxpython/menustrings.py:1554 +msgid "Simpson's diversity" +msgstr "" + +#: ../gui/wxpython/menustrings.py:494 ../gui/wxpython/menustrings.py:1555 +msgid "Calculates Simpson's diversity index on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:495 ../gui/wxpython/menustrings.py:1556 +msgid "Richness" +msgstr "" + +#: ../gui/wxpython/menustrings.py:496 ../gui/wxpython/menustrings.py:1557 +msgid "Calculates richness index on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:497 ../gui/wxpython/menustrings.py:1558 +msgid "Shape index" +msgstr "" + +#: ../gui/wxpython/menustrings.py:498 ../gui/wxpython/menustrings.py:1559 +msgid "Calculates shape index on a raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:499 ../gui/wxpython/menustrings.py:1560 +msgid "Wildfire modeling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:500 ../gui/wxpython/menustrings.py:1561 +msgid "Rate of spread" +msgstr "" + +#: ../gui/wxpython/menustrings.py:501 ../gui/wxpython/menustrings.py:1562 +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 "" + +#: ../gui/wxpython/menustrings.py:502 ../gui/wxpython/menustrings.py:1563 +msgid "Least-cost spread paths" +msgstr "" + +#: ../gui/wxpython/menustrings.py:503 ../gui/wxpython/menustrings.py:1564 +msgid "Recursively traces the least cost path backwards to cells from which the cumulative cost was determined." +msgstr "" + +#: ../gui/wxpython/menustrings.py:504 ../gui/wxpython/menustrings.py:1565 +msgid "Anisotropic spread simulation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:505 ../gui/wxpython/menustrings.py:1566 +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 "" + +#: ../gui/wxpython/menustrings.py:506 ../gui/wxpython/menustrings.py:1567 +msgid "Change category values and labels" +msgstr "" + +#: ../gui/wxpython/menustrings.py:507 ../gui/wxpython/menustrings.py:559 +#: ../gui/wxpython/menustrings.py:1568 ../gui/wxpython/menustrings.py:1620 +msgid "Manage category information" +msgstr "" + +#: ../gui/wxpython/menustrings.py:508 ../gui/wxpython/menustrings.py:560 +#: ../gui/wxpython/menustrings.py:1569 ../gui/wxpython/menustrings.py:1621 +msgid "Manages category values and labels associated with user-specified raster map layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:509 ../gui/wxpython/menustrings.py:1570 +msgid "Interactively edit category values" +msgstr "" + +#: ../gui/wxpython/menustrings.py:510 ../gui/wxpython/menustrings.py:1571 +msgid "Edits cell values in a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:511 ../gui/wxpython/menustrings.py:1572 +msgid "Reclassify by size" +msgstr "" + +#: ../gui/wxpython/menustrings.py:512 ../gui/wxpython/menustrings.py:1573 +msgid "Reclasses a raster map greater or less than user specified area size (in hectares)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:513 ../gui/wxpython/menustrings.py:752 +#: ../gui/wxpython/menustrings.py:1574 ../gui/wxpython/menustrings.py:1813 +msgid "Reclassify" +msgstr "" + +#: ../gui/wxpython/menustrings.py:514 ../gui/wxpython/menustrings.py:1575 +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 "" + +#: ../gui/wxpython/menustrings.py:515 ../gui/wxpython/menustrings.py:1576 +msgid "Recode" +msgstr "" + +#: ../gui/wxpython/menustrings.py:516 ../gui/wxpython/menustrings.py:1577 +msgid "Recodes categorical raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:517 ../gui/wxpython/menustrings.py:1578 +msgid "Rescale" +msgstr "" + +#: ../gui/wxpython/menustrings.py:518 ../gui/wxpython/menustrings.py:1579 +msgid "Rescales the range of category values in a raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:519 ../gui/wxpython/menustrings.py:1580 +msgid "Rescale with histogram" +msgstr "" + +#: ../gui/wxpython/menustrings.py:520 ../gui/wxpython/menustrings.py:1581 +msgid "Rescales histogram equalized the range of category values in a raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:521 ../gui/wxpython/menustrings.py:1582 +msgid "Generate random cells" +msgstr "" + +#: ../gui/wxpython/menustrings.py:522 ../gui/wxpython/menustrings.py:1583 +msgid "Random cells" +msgstr "" + +#: ../gui/wxpython/menustrings.py:523 ../gui/wxpython/menustrings.py:1584 +msgid "Generates random cell values with spatial dependence." +msgstr "" + +#: ../gui/wxpython/menustrings.py:524 ../gui/wxpython/menustrings.py:1585 +msgid "Random cells and vector points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:525 ../gui/wxpython/menustrings.py:1586 +msgid "Creates randomly placed raster cells or vector points Creates a raster map and vector point map containing randomly located cells and points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1587 +msgid "Generate surfaces" +msgstr "" + +#: ../gui/wxpython/menustrings.py:527 ../gui/wxpython/menustrings.py:1588 +msgid "Fractal surface" +msgstr "" + +#: ../gui/wxpython/menustrings.py:528 ../gui/wxpython/menustrings.py:1589 +msgid "Creates a fractal surface of a given fractal dimension." +msgstr "" + +#: ../gui/wxpython/menustrings.py:529 ../gui/wxpython/menustrings.py:1590 +msgid "Gaussian kernel density surface" +msgstr "" + +#: ../gui/wxpython/menustrings.py:530 ../gui/wxpython/menustrings.py:1591 +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 "" + +#: ../gui/wxpython/menustrings.py:531 ../gui/wxpython/menustrings.py:1592 +msgid "Gaussian deviates surface" +msgstr "" + +#: ../gui/wxpython/menustrings.py:532 ../gui/wxpython/menustrings.py:1593 +msgid "Generates a raster map using gaussian random number generator. Mean and standard deviation of gaussian deviates can be expressed by the user." +msgstr "" + +#: ../gui/wxpython/menustrings.py:533 ../gui/wxpython/menustrings.py:1594 +#: ../gui/wxpython/nviz/tools.py:5184 +msgid "Plane" +msgstr "" + +#: ../gui/wxpython/menustrings.py:534 ../gui/wxpython/menustrings.py:1595 +msgid "Creates raster plane map given dip (inclination), aspect (azimuth) and one point." +msgstr "" + +#: ../gui/wxpython/menustrings.py:535 ../gui/wxpython/menustrings.py:1596 +msgid "Random deviates surface" +msgstr "" + +#: ../gui/wxpython/menustrings.py:536 ../gui/wxpython/menustrings.py:1597 +msgid "Produces a raster surface map of uniform random deviates with defined range." +msgstr "" + +#: ../gui/wxpython/menustrings.py:537 ../gui/wxpython/menustrings.py:1598 +msgid "Random surface with spatial dependence" +msgstr "" + +#: ../gui/wxpython/menustrings.py:538 ../gui/wxpython/menustrings.py:1599 +msgid "Generates random surface(s) with spatial dependence." +msgstr "" + +#: ../gui/wxpython/menustrings.py:539 ../gui/wxpython/menustrings.py:1600 +msgid "Interpolate surfaces" +msgstr "" + +#: ../gui/wxpython/menustrings.py:540 ../gui/wxpython/menustrings.py:1601 +msgid "Bilinear and bicubic from vector points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:541 ../gui/wxpython/menustrings.py:1602 +msgid "Performs bicubic or bilinear spline interpolation with Tykhonov regularization." +msgstr "" + +#: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1603 +msgid "IDW from raster points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:543 ../gui/wxpython/menustrings.py:1604 +msgid "Provides surface interpolation from raster point data by Inverse Distance Squared Weighting." +msgstr "" + +#: ../gui/wxpython/menustrings.py:544 ../gui/wxpython/menustrings.py:1605 +msgid "IDW from vector points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:545 ../gui/wxpython/menustrings.py:1606 +msgid "Provides surface interpolation from vector point data by Inverse Distance Squared Weighting." +msgstr "" + +#: ../gui/wxpython/menustrings.py:546 ../gui/wxpython/menustrings.py:1607 +msgid "Raster contours" +msgstr "" + +#: ../gui/wxpython/menustrings.py:547 ../gui/wxpython/menustrings.py:1608 +msgid "Generates surface raster map from rasterized contours." +msgstr "" + +#: ../gui/wxpython/menustrings.py:548 ../gui/wxpython/menustrings.py:1609 +msgid "Regularized spline tension" +msgstr "" + +#: ../gui/wxpython/menustrings.py:549 ../gui/wxpython/menustrings.py:1610 +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 "" + +#: ../gui/wxpython/menustrings.py:550 ../gui/wxpython/menustrings.py:1611 +msgid "Raster series interpolation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:551 ../gui/wxpython/menustrings.py:1612 +msgid "Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions." +msgstr "" + +#: ../gui/wxpython/menustrings.py:552 ../gui/wxpython/menustrings.py:1613 +msgid "Fill NULL cells" +msgstr "" + +#: ../gui/wxpython/menustrings.py:553 ../gui/wxpython/menustrings.py:1614 +msgid "Fills no-data areas in raster maps using spline interpolation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:554 ../gui/wxpython/menustrings.py:1615 +msgid "Fill NULL cells using IDW" +msgstr "" + +#: ../gui/wxpython/menustrings.py:555 ../gui/wxpython/menustrings.py:1616 +msgid "Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:556 ../gui/wxpython/menustrings.py:795 +#: ../gui/wxpython/menustrings.py:938 ../gui/wxpython/menustrings.py:978 +#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/menustrings.py:1617 +#: ../gui/wxpython/menustrings.py:1856 ../gui/wxpython/menustrings.py:1999 +#: ../gui/wxpython/menustrings.py:2039 ../gui/wxpython/menustrings.py:2205 +msgid "Reports and statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:557 ../gui/wxpython/menustrings.py:1618 +msgid "Basic raster metadata" +msgstr "" + +#: ../gui/wxpython/menustrings.py:558 ../gui/wxpython/menustrings.py:1619 +msgid "Outputs basic information about a raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:561 ../gui/wxpython/menustrings.py:1622 +msgid "General statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:562 ../gui/wxpython/menustrings.py:1623 +msgid "Generates area statistics for raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:563 ../gui/wxpython/menustrings.py:1624 +msgid "Quantiles for large data sets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:564 ../gui/wxpython/menustrings.py:1625 +msgid "Compute quantiles using two passes." +msgstr "" + +#: ../gui/wxpython/menustrings.py:565 ../gui/wxpython/menustrings.py:1626 +msgid "Range of category values" +msgstr "" + +#: ../gui/wxpython/menustrings.py:566 ../gui/wxpython/menustrings.py:1627 +msgid "Prints terse list of category values found in a raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:567 ../gui/wxpython/menustrings.py:1628 +msgid "Sum area by raster map and category" +msgstr "" + +#: ../gui/wxpython/menustrings.py:568 ../gui/wxpython/menustrings.py:1629 +msgid "Reports statistics for raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:569 ../gui/wxpython/menustrings.py:1630 +msgid "Statistics for clumped cells" +msgstr "" + +#: ../gui/wxpython/menustrings.py:570 ../gui/wxpython/menustrings.py:1631 +msgid "Calculates the volume of data \"clumps\". Optionally produces a GRASS vector points map containing the calculated centroids of these clumps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:571 ../gui/wxpython/menustrings.py:1632 +msgid "Total corrected area" +msgstr "" + +#: ../gui/wxpython/menustrings.py:572 ../gui/wxpython/menustrings.py:1633 +msgid "Prints estimation of surface area for raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:574 ../gui/wxpython/menustrings.py:1635 +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:575 ../gui/wxpython/menustrings.py:806 +#: ../gui/wxpython/menustrings.py:1636 ../gui/wxpython/menustrings.py:1867 +msgid "Sample transects" +msgstr "" + +#: ../gui/wxpython/menustrings.py:576 ../gui/wxpython/menustrings.py:1637 +msgid "Outputs the raster map layer values lying on user-defined line(s)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:577 ../gui/wxpython/menustrings.py:1638 +msgid "Sample transects (bearing/distance)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:578 ../gui/wxpython/menustrings.py:1639 +msgid "Outputs raster map layer values lying along user defined transect line(s)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:579 ../gui/wxpython/menustrings.py:1640 +msgid "Covariance/correlation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:580 ../gui/wxpython/menustrings.py:1641 +msgid "Outputs a covariance/correlation matrix for user-specified raster map layer(s)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:581 ../gui/wxpython/menustrings.py:1642 +msgid "Linear regression" +msgstr "" + +#: ../gui/wxpython/menustrings.py:582 ../gui/wxpython/menustrings.py:1643 +msgid "Calculates linear regression from two raster maps: y = a + b*x." +msgstr "" + +#: ../gui/wxpython/menustrings.py:583 ../gui/wxpython/menustrings.py:1644 +msgid "Multiple regression" +msgstr "" + +#: ../gui/wxpython/menustrings.py:584 ../gui/wxpython/menustrings.py:1645 +msgid "Calculates multiple linear regression from raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:585 ../gui/wxpython/menustrings.py:1646 +msgid "Mutual category occurrences" +msgstr "" + +#: ../gui/wxpython/menustrings.py:586 ../gui/wxpython/menustrings.py:1647 +msgid "Tabulates the mutual occurrence (coincidence) of categories for two raster map layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:587 ../gui/wxpython/menustrings.py:1648 +msgid "Modal category value" +msgstr "" + +#: ../gui/wxpython/menustrings.py:588 ../gui/wxpython/menustrings.py:1649 +msgid "Finds the mode of values in a cover map within areas assigned the same category value in a user-specified base map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:589 ../gui/wxpython/menustrings.py:1650 +msgid "Zonal statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:590 ../gui/wxpython/menustrings.py:1651 +msgid "Calculates category or object oriented statistics." +msgstr "" + +#: ../gui/wxpython/menustrings.py:591 ../gui/wxpython/menustrings.py:1652 +msgid "Object geometry statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:592 ../gui/wxpython/menustrings.py:1653 +msgid "Calculates geometry parameters for raster objects." +msgstr "" + +#: ../gui/wxpython/menustrings.py:593 ../gui/wxpython/menustrings.py:1654 +msgid "&Vector" +msgstr "" + +#: ../gui/wxpython/menustrings.py:594 ../gui/wxpython/menustrings.py:1655 +msgid "Develop vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:596 ../gui/wxpython/menustrings.py:1657 +msgid "Create new empty vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:597 ../gui/wxpython/menustrings.py:1658 +msgid "Edit vector map (non-interactively)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:598 ../gui/wxpython/menustrings.py:1659 +msgid "Edits a vector map, allows adding, deleting and modifying selected vector features." +msgstr "" + +#: ../gui/wxpython/menustrings.py:599 ../gui/wxpython/menustrings.py:1660 +msgid "Convert object types" +msgstr "" + +#: ../gui/wxpython/menustrings.py:600 ../gui/wxpython/menustrings.py:1661 +msgid "Changes type of vector features." +msgstr "" + +#: ../gui/wxpython/menustrings.py:601 ../gui/wxpython/menustrings.py:1662 +msgid "Parallel lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:602 ../gui/wxpython/menustrings.py:1663 +msgid "Creates parallel line to input vector lines." +msgstr "" + +#: ../gui/wxpython/menustrings.py:603 ../gui/wxpython/menustrings.py:1664 +msgid "Dissolve boundaries" +msgstr "" + +#: ../gui/wxpython/menustrings.py:604 ../gui/wxpython/menustrings.py:1665 +msgid "Dissolves adjacent or overlapping features sharing a common category number or attribute." +msgstr "" + +#: ../gui/wxpython/menustrings.py:605 ../gui/wxpython/menustrings.py:1666 +msgid "Create 3D vector over raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:606 ../gui/wxpython/menustrings.py:1667 +msgid "Converts 2D vector features to 3D by sampling of elevation raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:607 ../gui/wxpython/menustrings.py:1668 +msgid "Extrude 3D vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:608 ../gui/wxpython/menustrings.py:1669 +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:609 ../gui/wxpython/menustrings.py:1670 +msgid "Create labels" +msgstr "" + +#: ../gui/wxpython/menustrings.py:610 ../gui/wxpython/menustrings.py:1671 +msgid "Creates paint labels for a vector map from attached attributes." +msgstr "" + +#: ../gui/wxpython/menustrings.py:611 ../gui/wxpython/menustrings.py:1672 +msgid "Reposition vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:612 ../gui/wxpython/menustrings.py:1673 +msgid "Performs an affine transformation (shift, scale and rotate) on vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:613 ../gui/wxpython/menustrings.py:1674 +msgid "Rectify vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:614 ../gui/wxpython/menustrings.py:1675 +msgid "Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:618 ../gui/wxpython/menustrings.py:1679 +msgid "Updates vector map metadata." +msgstr "" + +#: ../gui/wxpython/menustrings.py:619 ../gui/wxpython/menustrings.py:947 +#: ../gui/wxpython/menustrings.py:1680 ../gui/wxpython/menustrings.py:2008 +msgid "Manage timestamp" +msgstr "" + +#: ../gui/wxpython/menustrings.py:620 ../gui/wxpython/menustrings.py:1681 +msgid "Modifies a timestamp for a vector map. Print/add/remove a timestamp for a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:621 ../gui/wxpython/menustrings.py:1682 +msgid "Create labels with simulated annealing" +msgstr "" + +#: ../gui/wxpython/menustrings.py:622 ../gui/wxpython/menustrings.py:1683 +msgid "Create optimally placed labels for vector map(s)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:623 ../gui/wxpython/menustrings.py:1684 +msgid "Decimate points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:624 ../gui/wxpython/menustrings.py:1685 +msgid "Decimates a point cloud Copies points from one vector to another while applying different decimations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:625 ../gui/wxpython/menustrings.py:1686 +msgid "Topology maintenance" +msgstr "" + +#: ../gui/wxpython/menustrings.py:626 ../gui/wxpython/menustrings.py:1687 +msgid "Create or rebuild topology" +msgstr "" + +#: ../gui/wxpython/menustrings.py:627 ../gui/wxpython/menustrings.py:1688 +msgid "Creates topology for vector map. Optionally also checks for topological errors." +msgstr "" + +#: ../gui/wxpython/menustrings.py:628 ../gui/wxpython/menustrings.py:1689 +msgid "Rebuild topology on all vector maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:629 ../gui/wxpython/menustrings.py:1690 +msgid "Rebuilds topology on all vector maps in the current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:630 ../gui/wxpython/menustrings.py:1691 +msgid "Build polylines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:631 ../gui/wxpython/menustrings.py:1692 +msgid "Builds polylines from lines or boundaries." +msgstr "" + +#: ../gui/wxpython/menustrings.py:632 ../gui/wxpython/menustrings.py:1693 +msgid "Split lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:633 ../gui/wxpython/menustrings.py:1694 +msgid "Splits vector lines to shorter segments." +msgstr "" + +#: ../gui/wxpython/menustrings.py:634 ../gui/wxpython/menustrings.py:1695 +msgid "Split polylines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:635 ../gui/wxpython/menustrings.py:1696 +msgid "Creates points/segments from input vector lines and positions." +msgstr "" + +#: ../gui/wxpython/menustrings.py:636 ../gui/wxpython/menustrings.py:1697 +msgid "Clean vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:637 ../gui/wxpython/menustrings.py:1698 +msgid "Toolset for cleaning topology of vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:638 ../gui/wxpython/menustrings.py:1699 +msgid "Fill holes in areas" +msgstr "" + +#: ../gui/wxpython/menustrings.py:639 ../gui/wxpython/menustrings.py:1700 +msgid "Fill holes in areas by keeping only outer boundaries" +msgstr "" + +#: ../gui/wxpython/menustrings.py:640 ../gui/wxpython/menustrings.py:1701 +msgid "Smooth or simplify" +msgstr "" + +#: ../gui/wxpython/menustrings.py:641 ../gui/wxpython/menustrings.py:1702 +msgid "Performs vector based generalization." +msgstr "" + +#: ../gui/wxpython/menustrings.py:642 ../gui/wxpython/menustrings.py:1703 +msgid "Add centroids" +msgstr "" + +#: ../gui/wxpython/menustrings.py:643 ../gui/wxpython/menustrings.py:1704 +msgid "Adds missing centroids to closed boundaries." +msgstr "" + +#: ../gui/wxpython/menustrings.py:646 ../gui/wxpython/menustrings.py:1707 +msgid "Creates/modifies the color table associated with a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:648 ../gui/wxpython/menustrings.py:1709 +msgid "Interactive management of vector color tables." +msgstr "" + +#: ../gui/wxpython/menustrings.py:650 ../gui/wxpython/menustrings.py:1711 +msgid "Exports the color table associated with a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:651 ../gui/wxpython/menustrings.py:1712 +msgid "Query vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:652 ../gui/wxpython/menustrings.py:1713 +msgid "Query with coordinate(s)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:653 ../gui/wxpython/menustrings.py:1714 +msgid "Queries a vector map at given locations." +msgstr "" + +#: ../gui/wxpython/menustrings.py:654 ../gui/wxpython/menustrings.py:1017 +#: ../gui/wxpython/menustrings.py:1715 ../gui/wxpython/menustrings.py:2078 +msgid "Query vector attribute data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:655 ../gui/wxpython/menustrings.py:1018 +#: ../gui/wxpython/menustrings.py:1716 ../gui/wxpython/menustrings.py:2079 +msgid "Prints vector map attributes." +msgstr "" + +#: ../gui/wxpython/menustrings.py:656 ../gui/wxpython/menustrings.py:1717 +msgid "Feature selection" +msgstr "" + +#: ../gui/wxpython/menustrings.py:657 ../gui/wxpython/menustrings.py:1718 +msgid "Select by attributes" +msgstr "" + +#: ../gui/wxpython/menustrings.py:658 ../gui/wxpython/menustrings.py:1719 +msgid "Selects vector features from an existing vector map and creates a new vector map containing only the selected features." +msgstr "" + +#: ../gui/wxpython/menustrings.py:659 ../gui/wxpython/menustrings.py:1720 +msgid "Select by another map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:660 ../gui/wxpython/menustrings.py:1721 +msgid "Selects features from vector map (A) by features from other vector map (B)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:668 ../gui/wxpython/menustrings.py:1729 +msgid "Convert areas or points to lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:669 ../gui/wxpython/menustrings.py:1730 +msgid "Converts vector polygons or points to lines." +msgstr "" + +#: ../gui/wxpython/menustrings.py:670 ../gui/wxpython/menustrings.py:1731 +msgid "Buffer vectors" +msgstr "" + +#: ../gui/wxpython/menustrings.py:671 ../gui/wxpython/menustrings.py:1732 +msgid "Creates a buffer around vector features of given type." +msgstr "" + +#: ../gui/wxpython/menustrings.py:672 ../gui/wxpython/menustrings.py:1733 +msgid "Point analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:673 ../gui/wxpython/menustrings.py:688 +#: ../gui/wxpython/menustrings.py:1734 ../gui/wxpython/menustrings.py:1749 +msgid "Identify and remove outliers" +msgstr "" + +#: ../gui/wxpython/menustrings.py:674 ../gui/wxpython/menustrings.py:689 +#: ../gui/wxpython/menustrings.py:792 ../gui/wxpython/menustrings.py:1735 +#: ../gui/wxpython/menustrings.py:1750 ../gui/wxpython/menustrings.py:1853 +msgid "Removes outliers from vector point data." +msgstr "" + +#: ../gui/wxpython/menustrings.py:675 ../gui/wxpython/menustrings.py:1736 +msgid "Identify point clusters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:676 ../gui/wxpython/menustrings.py:1737 +msgid "Performs cluster identification." +msgstr "" + +#: ../gui/wxpython/menustrings.py:677 ../gui/wxpython/menustrings.py:1738 +msgid "Indices for quadrat counts of vector point lists" +msgstr "" + +#: ../gui/wxpython/menustrings.py:678 ../gui/wxpython/menustrings.py:809 +#: ../gui/wxpython/menustrings.py:1739 ../gui/wxpython/menustrings.py:1870 +msgid "Indices for quadrat counts of vector point lists." +msgstr "" + +#: ../gui/wxpython/menustrings.py:679 ../gui/wxpython/menustrings.py:789 +#: ../gui/wxpython/menustrings.py:1740 ../gui/wxpython/menustrings.py:1850 +msgid "Perturb points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:680 ../gui/wxpython/menustrings.py:790 +#: ../gui/wxpython/menustrings.py:1741 ../gui/wxpython/menustrings.py:1851 +msgid "Random location perturbations of vector points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:681 ../gui/wxpython/menustrings.py:793 +#: ../gui/wxpython/menustrings.py:1742 ../gui/wxpython/menustrings.py:1854 +msgid "Test/training point sets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:682 ../gui/wxpython/menustrings.py:794 +#: ../gui/wxpython/menustrings.py:1743 ../gui/wxpython/menustrings.py:1855 +msgid "Randomly partition points into test/train sets." +msgstr "" + +#: ../gui/wxpython/menustrings.py:683 ../gui/wxpython/menustrings.py:1744 +msgid "Tests for normality for vector points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:684 ../gui/wxpython/menustrings.py:811 +#: ../gui/wxpython/menustrings.py:1745 ../gui/wxpython/menustrings.py:1872 +msgid "Tests for normality for vector points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:685 ../gui/wxpython/menustrings.py:812 +#: ../gui/wxpython/menustrings.py:1746 ../gui/wxpython/menustrings.py:1873 +msgid "Point pattern analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:686 ../gui/wxpython/menustrings.py:813 +#: ../gui/wxpython/menustrings.py:1747 ../gui/wxpython/menustrings.py:1874 +msgid "Point pattern analysis using the G, F, K, and L summary functions." +msgstr "" + +#: ../gui/wxpython/menustrings.py:687 ../gui/wxpython/menustrings.py:1748 +msgid "Lidar analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:690 ../gui/wxpython/menustrings.py:1751 +msgid "Detect edges" +msgstr "" + +#: ../gui/wxpython/menustrings.py:691 ../gui/wxpython/menustrings.py:1752 +msgid "Detects the object's edges from a LIDAR data set." +msgstr "" + +#: ../gui/wxpython/menustrings.py:692 ../gui/wxpython/menustrings.py:1753 +msgid "Detect interiors" +msgstr "" + +#: ../gui/wxpython/menustrings.py:693 ../gui/wxpython/menustrings.py:1754 +msgid "Building contour determination and Region Growing algorithm for determining the building inside" +msgstr "" + +#: ../gui/wxpython/menustrings.py:694 ../gui/wxpython/menustrings.py:1755 +msgid "Correct and reclassify objects" +msgstr "" + +#: ../gui/wxpython/menustrings.py:695 ../gui/wxpython/menustrings.py:1756 +msgid "Corrects the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering." +msgstr "" + +#: ../gui/wxpython/menustrings.py:696 ../gui/wxpython/menustrings.py:1757 +msgid "Linear referencing" +msgstr "" + +#: ../gui/wxpython/menustrings.py:697 ../gui/wxpython/menustrings.py:1758 +msgid "Create LRS" +msgstr "" + +#: ../gui/wxpython/menustrings.py:698 ../gui/wxpython/menustrings.py:1759 +msgid "Creates a linear reference system." +msgstr "" + +#: ../gui/wxpython/menustrings.py:699 ../gui/wxpython/menustrings.py:1760 +msgid "Create stationing" +msgstr "" + +#: ../gui/wxpython/menustrings.py:700 ../gui/wxpython/menustrings.py:1761 +msgid "Creates stationing from input lines, and linear reference system." +msgstr "" + +#: ../gui/wxpython/menustrings.py:701 ../gui/wxpython/menustrings.py:1762 +msgid "Create points/segments" +msgstr "" + +#: ../gui/wxpython/menustrings.py:702 ../gui/wxpython/menustrings.py:1763 +msgid "Creates points/segments from input lines, linear reference system and positions read from stdin or a file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:703 ../gui/wxpython/menustrings.py:1764 +msgid "Find line id and offset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:704 ../gui/wxpython/menustrings.py:1765 +msgid "Finds line id and real km+offset for given points in vector map using linear reference system." +msgstr "" + +#: ../gui/wxpython/menustrings.py:705 ../gui/wxpython/menustrings.py:1766 +msgid "Nearest features" +msgstr "" + +#: ../gui/wxpython/menustrings.py:706 ../gui/wxpython/menustrings.py:1767 +msgid "Finds the nearest element in vector map 'to' for elements in vector map 'from'." +msgstr "" + +#: ../gui/wxpython/menustrings.py:707 ../gui/wxpython/menustrings.py:1768 +msgid "Network analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:709 ../gui/wxpython/menustrings.py:1770 +msgid "Tool for interactive vector network analysis." +msgstr "" + +#: ../gui/wxpython/menustrings.py:710 ../gui/wxpython/menustrings.py:1771 +msgid "Network preparation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:711 ../gui/wxpython/menustrings.py:1772 +msgid "Performs network maintenance." +msgstr "" + +#: ../gui/wxpython/menustrings.py:712 ../gui/wxpython/menustrings.py:1773 +msgid "Allocate subnets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:713 ../gui/wxpython/menustrings.py:1774 +msgid "Allocates subnets for nearest centers. Center node must be opened (costs >= 0). Costs of center node are used in calculation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:714 ../gui/wxpython/menustrings.py:1775 +msgid "Split net" +msgstr "" + +#: ../gui/wxpython/menustrings.py:715 ../gui/wxpython/menustrings.py:1776 +msgid "Splits subnets for nearest centers 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 "" + +#: ../gui/wxpython/menustrings.py:716 ../gui/wxpython/menustrings.py:1777 +msgid "Shortest path" +msgstr "" + +#: ../gui/wxpython/menustrings.py:717 ../gui/wxpython/menustrings.py:1778 +msgid "Finds shortest path on vector network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:718 ../gui/wxpython/menustrings.py:1779 +msgid "Shortest path for sets of features" +msgstr "" + +#: ../gui/wxpython/menustrings.py:719 ../gui/wxpython/menustrings.py:1780 +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:720 ../gui/wxpython/menustrings.py:1781 +msgid "Shortest path using timetables" +msgstr "" + +#: ../gui/wxpython/menustrings.py:721 ../gui/wxpython/menustrings.py:1782 +msgid "Finds shortest path using timetables." +msgstr "" + +#: ../gui/wxpython/menustrings.py:722 ../gui/wxpython/menustrings.py:1783 +msgid "Shortest path for all pairs" +msgstr "" + +#: ../gui/wxpython/menustrings.py:723 ../gui/wxpython/menustrings.py:1784 +msgid "Computes the shortest path between all pairs of nodes in the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:724 ../gui/wxpython/menustrings.py:1785 +msgid "Visibility network" +msgstr "" + +#: ../gui/wxpython/menustrings.py:725 ../gui/wxpython/menustrings.py:1786 +msgid "Performs visibility graph construction." +msgstr "" + +#: ../gui/wxpython/menustrings.py:726 ../gui/wxpython/menustrings.py:1787 +msgid "Bridges and articulation points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:727 ../gui/wxpython/menustrings.py:1788 +msgid "Computes bridges and articulation points in the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:728 ../gui/wxpython/menustrings.py:1789 +msgid "Maximum flow" +msgstr "" + +#: ../gui/wxpython/menustrings.py:729 ../gui/wxpython/menustrings.py:1790 +msgid "Computes the maximum flow between two sets of nodes in the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:730 ../gui/wxpython/menustrings.py:1791 +msgid "Vertex connectivity" +msgstr "" + +#: ../gui/wxpython/menustrings.py:731 ../gui/wxpython/menustrings.py:1792 +msgid "Computes vertex connectivity between two sets of nodes in the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:732 ../gui/wxpython/menustrings.py:1793 +msgid "Components" +msgstr "" + +#: ../gui/wxpython/menustrings.py:733 ../gui/wxpython/menustrings.py:1794 +msgid "Computes strongly and weakly connected components in the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:734 ../gui/wxpython/menustrings.py:1795 +msgid "Centrality" +msgstr "" + +#: ../gui/wxpython/menustrings.py:735 ../gui/wxpython/menustrings.py:1796 +msgid "Computes degree, centrality, betweenness, closeness and eigenvector centrality measures in the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:736 ../gui/wxpython/menustrings.py:1797 +msgid "Steiner tree" +msgstr "" + +#: ../gui/wxpython/menustrings.py:737 ../gui/wxpython/menustrings.py:1798 +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 "" + +#: ../gui/wxpython/menustrings.py:738 ../gui/wxpython/menustrings.py:1799 +msgid "Minimum spanning tree" +msgstr "" + +#: ../gui/wxpython/menustrings.py:739 ../gui/wxpython/menustrings.py:1800 +msgid "Computes minimum spanning tree for the network." +msgstr "" + +#: ../gui/wxpython/menustrings.py:740 ../gui/wxpython/menustrings.py:1801 +msgid "Traveling salesman analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:741 ../gui/wxpython/menustrings.py:1802 +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 "" + +#: ../gui/wxpython/menustrings.py:742 ../gui/wxpython/menustrings.py:745 +#: ../gui/wxpython/menustrings.py:1803 ../gui/wxpython/menustrings.py:1806 +msgid "Overlay vector maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:743 ../gui/wxpython/menustrings.py:1804 +msgid "Clip vector maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:744 ../gui/wxpython/menustrings.py:1805 +msgid "Extracts features of input map which overlay features of clip map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:746 ../gui/wxpython/menustrings.py:1807 +msgid "Overlays two vector maps offering clip, intersection, difference, symmetrical difference, union operators." +msgstr "" + +#: ../gui/wxpython/menustrings.py:747 ../gui/wxpython/menustrings.py:1808 +msgid "Patch vector maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:748 ../gui/wxpython/menustrings.py:1809 +msgid "Creates a new vector map by combining other vector maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:749 ../gui/wxpython/menustrings.py:1810 +msgid "Manage categories" +msgstr "" + +#: ../gui/wxpython/menustrings.py:750 ../gui/wxpython/menustrings.py:1811 +msgid "Change or report categories" +msgstr "" + +#: ../gui/wxpython/menustrings.py:751 ../gui/wxpython/menustrings.py:1812 +msgid "Attaches, deletes or reports vector categories to/from/of map geometry." +msgstr "" + +#: ../gui/wxpython/menustrings.py:753 ../gui/wxpython/menustrings.py:1814 +msgid "Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column." +msgstr "" + +#: ../gui/wxpython/menustrings.py:755 ../gui/wxpython/menustrings.py:1816 +msgid "Update area attributes from raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:756 ../gui/wxpython/menustrings.py:1817 +msgid "Calculates univariate statistics from a raster map based on a vector map and uploads statistics to new attribute columns." +msgstr "" + +#: ../gui/wxpython/menustrings.py:757 ../gui/wxpython/menustrings.py:1818 +msgid "Update area attributes from vector" +msgstr "" + +#: ../gui/wxpython/menustrings.py:758 ../gui/wxpython/menustrings.py:1819 +msgid "Count points in areas, calculate statistics from point attributes." +msgstr "" + +#: ../gui/wxpython/menustrings.py:759 ../gui/wxpython/menustrings.py:1820 +msgid "Update point attributes from areas" +msgstr "" + +#: ../gui/wxpython/menustrings.py:760 ../gui/wxpython/menustrings.py:1821 +msgid "Uploads vector values at positions of vector points to the table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:761 ../gui/wxpython/menustrings.py:1822 +msgid "Update database values from vector" +msgstr "" + +#: ../gui/wxpython/menustrings.py:762 ../gui/wxpython/menustrings.py:1823 +msgid "Populates attribute values from vector features." +msgstr "" + +#: ../gui/wxpython/menustrings.py:763 ../gui/wxpython/menustrings.py:1824 +msgid "Sample raster maps at point locations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:764 ../gui/wxpython/menustrings.py:1825 +msgid "Uploads raster values at positions of vector points to the table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:765 ../gui/wxpython/menustrings.py:1826 +msgid "Sample 3D raster at point locations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:766 ../gui/wxpython/menustrings.py:1827 +msgid "Uploads 3D raster values at positions of vector points to the table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:767 ../gui/wxpython/menustrings.py:1828 +msgid "Sample temporal raster dataset at point locations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:768 ../gui/wxpython/menustrings.py:1829 +msgid "Uploads space time raster dataset values at positions of vector points to the table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:769 ../gui/wxpython/menustrings.py:1830 +msgid "Sample raster neighborhood around points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:770 ../gui/wxpython/menustrings.py:1831 +msgid "Samples a raster map at vector point locations." +msgstr "" + +#: ../gui/wxpython/menustrings.py:771 ../gui/wxpython/menustrings.py:1832 +msgid "Generate area for current region" +msgstr "" + +#: ../gui/wxpython/menustrings.py:772 ../gui/wxpython/menustrings.py:1833 +msgid "Creates a vector polygon from the current region extent." +msgstr "" + +#: ../gui/wxpython/menustrings.py:773 ../gui/wxpython/menustrings.py:1834 +msgid "Generate areas from points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:774 ../gui/wxpython/menustrings.py:1835 +msgid "Convex hull" +msgstr "" + +#: ../gui/wxpython/menustrings.py:775 ../gui/wxpython/menustrings.py:1836 +msgid "Produces a 2D/3D convex hull for a given vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:776 ../gui/wxpython/menustrings.py:1837 +msgid "Delaunay triangles" +msgstr "" + +#: ../gui/wxpython/menustrings.py:777 ../gui/wxpython/menustrings.py:1838 +msgid "Creates a Delaunay triangulation from an input vector map containing points or centroids." +msgstr "" + +#: ../gui/wxpython/menustrings.py:778 ../gui/wxpython/menustrings.py:1839 +msgid "Voronoi diagram/Thiessen polygons" +msgstr "" + +#: ../gui/wxpython/menustrings.py:779 ../gui/wxpython/menustrings.py:1840 +msgid "Creates a Voronoi diagram constrained to the extents of the current region from an input vector map containing points or centroids." +msgstr "" + +#: ../gui/wxpython/menustrings.py:780 ../gui/wxpython/menustrings.py:1841 +msgid "Generate grid" +msgstr "" + +#: ../gui/wxpython/menustrings.py:781 ../gui/wxpython/menustrings.py:1842 +msgid "Creates a vector map of a user-defined grid." +msgstr "" + +#: ../gui/wxpython/menustrings.py:782 ../gui/wxpython/menustrings.py:1843 +msgid "Generate points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:783 ../gui/wxpython/menustrings.py:1844 +msgid "Generate from database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:784 ../gui/wxpython/menustrings.py:1845 +msgid "Creates new vector (points) map from database table containing coordinates." +msgstr "" + +#: ../gui/wxpython/menustrings.py:785 ../gui/wxpython/menustrings.py:1846 +msgid "Generate points along lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:786 ../gui/wxpython/menustrings.py:1847 +msgid "Creates points along input lines in new vector map with 2 layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:787 ../gui/wxpython/menustrings.py:1848 +msgid "Generate random points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:788 ../gui/wxpython/menustrings.py:1849 +msgid "Generates random 2D/3D vector points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:791 ../gui/wxpython/menustrings.py:1852 +msgid "Remove outliers in point sets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:796 ../gui/wxpython/menustrings.py:1857 +msgid "Basic vector metadata" +msgstr "" + +#: ../gui/wxpython/menustrings.py:797 ../gui/wxpython/menustrings.py:1858 +msgid "Outputs basic information about a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:798 ../gui/wxpython/menustrings.py:1859 +msgid "Classify attribute data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:799 ../gui/wxpython/menustrings.py:1860 +msgid "Classifies attribute data, e.g. for thematic mapping" +msgstr "" + +#: ../gui/wxpython/menustrings.py:800 ../gui/wxpython/menustrings.py:1861 +msgid "Report topology by category" +msgstr "" + +#: ../gui/wxpython/menustrings.py:801 ../gui/wxpython/menustrings.py:1862 +msgid "Reports geometry statistics for vector maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:802 ../gui/wxpython/menustrings.py:1863 +msgid "Univariate attribute statistics for points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:803 ../gui/wxpython/menustrings.py:1864 +msgid "Calculates univariate statistics of vector map features. Variance and standard deviation is calculated only for points if specified." +msgstr "" + +#: ../gui/wxpython/menustrings.py:804 ../gui/wxpython/menustrings.py:1865 +msgid "Univariate statistics for attribute columns" +msgstr "" + +#: ../gui/wxpython/menustrings.py:805 ../gui/wxpython/menustrings.py:1866 +msgid "Calculates univariate statistics on selected table column for a GRASS vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:807 ../gui/wxpython/menustrings.py:1868 +msgid "Vector map profiling tool" +msgstr "" + +#: ../gui/wxpython/menustrings.py:808 ../gui/wxpython/menustrings.py:1869 +msgid "Quadrat indices" +msgstr "" + +#: ../gui/wxpython/menustrings.py:810 ../gui/wxpython/menustrings.py:1871 +msgid "Test normality" +msgstr "" + +#: ../gui/wxpython/menustrings.py:814 ../gui/wxpython/menustrings.py:1875 +msgid "&Imagery" +msgstr "" + +#: ../gui/wxpython/menustrings.py:815 ../gui/wxpython/menustrings.py:1876 +msgid "Develop images and groups" +msgstr "" + +#: ../gui/wxpython/menustrings.py:816 ../gui/wxpython/menustrings.py:1877 +msgid "Create/edit group" +msgstr "" + +#: ../gui/wxpython/menustrings.py:817 ../gui/wxpython/menustrings.py:1878 +msgid "Creates, edits, and lists groups of imagery files." +msgstr "" + +#: ../gui/wxpython/menustrings.py:818 ../gui/wxpython/menustrings.py:1879 +msgid "Target group" +msgstr "" + +#: ../gui/wxpython/menustrings.py:819 ../gui/wxpython/menustrings.py:1880 +msgid "Targets an imagery group to a GRASS location and mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:820 ../gui/wxpython/menustrings.py:1881 +msgid "Find imagery files" +msgstr "" + +#: ../gui/wxpython/menustrings.py:822 ../gui/wxpython/menustrings.py:1883 +msgid "Semantic label library" +msgstr "" + +#: ../gui/wxpython/menustrings.py:823 ../gui/wxpython/menustrings.py:1884 +msgid "Prints available semantic label information used for multispectral data." +msgstr "" + +#: ../gui/wxpython/menustrings.py:824 ../gui/wxpython/menustrings.py:1885 +msgid "Mosaic images" +msgstr "" + +#: ../gui/wxpython/menustrings.py:825 ../gui/wxpython/menustrings.py:1886 +msgid "Mosaics several images and extends colormap." +msgstr "" + +#: ../gui/wxpython/menustrings.py:826 ../gui/wxpython/menustrings.py:1887 +msgid "Manage image colors" +msgstr "" + +#: ../gui/wxpython/menustrings.py:827 ../gui/wxpython/menustrings.py:1888 +msgid "Color balance for RGB" +msgstr "" + +#: ../gui/wxpython/menustrings.py:828 ../gui/wxpython/menustrings.py:1889 +msgid "Performs auto-balancing of colors for RGB images." +msgstr "" + +#: ../gui/wxpython/menustrings.py:829 ../gui/wxpython/menustrings.py:1890 +msgid "HIS to RGB" +msgstr "" + +#: ../gui/wxpython/menustrings.py:830 ../gui/wxpython/menustrings.py:1891 +msgid "Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space." +msgstr "" + +#: ../gui/wxpython/menustrings.py:832 ../gui/wxpython/menustrings.py:1893 +msgid "Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space." +msgstr "" + +#: ../gui/wxpython/menustrings.py:833 ../gui/wxpython/menustrings.py:1894 +msgid "Rectify image or raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:834 ../gui/wxpython/menustrings.py:1895 +msgid "Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:836 ../gui/wxpython/menustrings.py:1897 +msgid "Generate histogram of image" +msgstr "" + +#: ../gui/wxpython/menustrings.py:837 ../gui/wxpython/menustrings.py:1898 +msgid "Spectral response" +msgstr "" + +#: ../gui/wxpython/menustrings.py:838 ../gui/wxpython/menustrings.py:1899 +msgid "Displays spectral response at user specified locations in group or images." +msgstr "" + +#: ../gui/wxpython/menustrings.py:839 ../gui/wxpython/menustrings.py:1900 +msgid "Pan sharpening" +msgstr "" + +#: ../gui/wxpython/menustrings.py:840 ../gui/wxpython/menustrings.py:1901 +msgid "Image fusion algorithms to sharpen multispectral with high-res panchromatic channels" +msgstr "" + +#: ../gui/wxpython/menustrings.py:841 ../gui/wxpython/menustrings.py:1902 +msgid "Classify image" +msgstr "" + +#: ../gui/wxpython/menustrings.py:842 ../gui/wxpython/menustrings.py:1903 +msgid "Clustering input for unsupervised classification" +msgstr "" + +#: ../gui/wxpython/menustrings.py:843 ../gui/wxpython/menustrings.py:1904 +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 "" + +#: ../gui/wxpython/menustrings.py:844 ../gui/wxpython/menustrings.py:1905 +msgid "Input for supervised MLC" +msgstr "" + +#: ../gui/wxpython/menustrings.py:845 ../gui/wxpython/menustrings.py:1906 +msgid "Generates statistics for i.maxlik from raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:846 ../gui/wxpython/menustrings.py:1907 +msgid "Maximum likelihood classification (MLC)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:847 ../gui/wxpython/menustrings.py:1908 +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 "" + +#: ../gui/wxpython/menustrings.py:848 ../gui/wxpython/menustrings.py:1909 +#: ../gui/wxpython/menustrings.py:2238 +msgid "Interactive input for supervised classification" +msgstr "" + +#: ../gui/wxpython/menustrings.py:849 ../gui/wxpython/menustrings.py:1910 +#: ../gui/wxpython/menustrings.py:2239 +msgid "Generates spectral signatures by allowing the user to outline training areas." +msgstr "" + +#: ../gui/wxpython/menustrings.py:850 ../gui/wxpython/menustrings.py:1911 +msgid "Input for supervised SMAP" +msgstr "" + +#: ../gui/wxpython/menustrings.py:851 ../gui/wxpython/menustrings.py:1912 +msgid "Generates statistics for i.smap from raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:852 ../gui/wxpython/menustrings.py:1913 +msgid "Sequential maximum a posteriori classification (SMAP)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:853 ../gui/wxpython/menustrings.py:1914 +msgid "Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:854 ../gui/wxpython/menustrings.py:1915 +msgid "Input for supervised SVM" +msgstr "" + +#: ../gui/wxpython/menustrings.py:855 ../gui/wxpython/menustrings.py:1916 +msgid "Train a SVM Train a Support Vector Machine" +msgstr "" + +#: ../gui/wxpython/menustrings.py:856 ../gui/wxpython/menustrings.py:1917 +msgid "Support Vector Machines classification (SVM)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:857 ../gui/wxpython/menustrings.py:1918 +msgid "Predict with a SVM Predict with a Support Vector Machine" +msgstr "" + +#: ../gui/wxpython/menustrings.py:858 ../gui/wxpython/menustrings.py:1919 +msgid "Manage signature files" +msgstr "" + +#: ../gui/wxpython/menustrings.py:859 ../gui/wxpython/menustrings.py:1920 +msgid "Manage imagery classification signature files" +msgstr "" + +#: ../gui/wxpython/menustrings.py:860 ../gui/wxpython/menustrings.py:1921 +msgid "Object segmentation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:861 ../gui/wxpython/menustrings.py:1922 +msgid "Identifies segments (objects) from imagery data." +msgstr "" + +#: ../gui/wxpython/menustrings.py:862 ../gui/wxpython/menustrings.py:1923 +msgid "Filter image" +msgstr "" + +#: ../gui/wxpython/menustrings.py:863 ../gui/wxpython/menustrings.py:1924 +msgid "Edge detection" +msgstr "" + +#: ../gui/wxpython/menustrings.py:864 ../gui/wxpython/menustrings.py:1925 +msgid "Zero-crossing \"edge detection\" raster function for image processing." +msgstr "" + +#: ../gui/wxpython/menustrings.py:865 ../gui/wxpython/menustrings.py:1926 +msgid "Matrix/convolving filter" +msgstr "" + +#: ../gui/wxpython/menustrings.py:866 ../gui/wxpython/menustrings.py:1927 +msgid "Performs raster map matrix filter." +msgstr "" + +#: ../gui/wxpython/menustrings.py:867 ../gui/wxpython/menustrings.py:1928 +msgid "Edge preserving smoothing" +msgstr "" + +#: ../gui/wxpython/menustrings.py:868 ../gui/wxpython/menustrings.py:1929 +msgid "Smoothing with anisotropic diffusion" +msgstr "" + +#: ../gui/wxpython/menustrings.py:869 ../gui/wxpython/menustrings.py:1930 +msgid "Transform image" +msgstr "" + +#: ../gui/wxpython/menustrings.py:870 ../gui/wxpython/menustrings.py:1931 +msgid "Canonical correlation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:871 ../gui/wxpython/menustrings.py:1932 +msgid "Canonical components analysis (CCA) program for image processing." +msgstr "" + +#: ../gui/wxpython/menustrings.py:872 ../gui/wxpython/menustrings.py:1933 +msgid "Principal components" +msgstr "" + +#: ../gui/wxpython/menustrings.py:873 ../gui/wxpython/menustrings.py:1934 +msgid "Principal components analysis (PCA) for image processing." +msgstr "" + +#: ../gui/wxpython/menustrings.py:874 ../gui/wxpython/menustrings.py:1935 +msgid "Fast Fourier" +msgstr "" + +#: ../gui/wxpython/menustrings.py:875 ../gui/wxpython/menustrings.py:1936 +msgid "Fast Fourier Transform (FFT) for image processing." +msgstr "" + +#: ../gui/wxpython/menustrings.py:876 ../gui/wxpython/menustrings.py:1937 +msgid "Inverse Fast Fourier" +msgstr "" + +#: ../gui/wxpython/menustrings.py:877 ../gui/wxpython/menustrings.py:1938 +msgid "Inverse Fast Fourier Transform (IFFT) for image processing." +msgstr "" + +#: ../gui/wxpython/menustrings.py:878 ../gui/wxpython/menustrings.py:1939 +msgid "Satellite images tools" +msgstr "" + +#: ../gui/wxpython/menustrings.py:879 ../gui/wxpython/menustrings.py:1940 +msgid "Aster DN to radiance/reflectance" +msgstr "" + +#: ../gui/wxpython/menustrings.py:880 ../gui/wxpython/menustrings.py:1941 +msgid "Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN." +msgstr "" + +#: ../gui/wxpython/menustrings.py:881 ../gui/wxpython/menustrings.py:1942 +msgid "Landsat DN to radiance/reflectance" +msgstr "" + +#: ../gui/wxpython/menustrings.py:882 ../gui/wxpython/menustrings.py:1943 +msgid "Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI" +msgstr "" + +#: ../gui/wxpython/menustrings.py:883 ../gui/wxpython/menustrings.py:1944 +msgid "Landsat cloud cover assessment" +msgstr "" + +#: ../gui/wxpython/menustrings.py:884 ../gui/wxpython/menustrings.py:1945 +msgid "Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:885 ../gui/wxpython/menustrings.py:1946 +msgid "Modis quality control" +msgstr "" + +#: ../gui/wxpython/menustrings.py:886 ../gui/wxpython/menustrings.py:1947 +msgid "Extracts quality control parameters from MODIS QC layers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:887 ../gui/wxpython/menustrings.py:1948 +msgid "Atmospheric correction" +msgstr "" + +#: ../gui/wxpython/menustrings.py:888 ../gui/wxpython/menustrings.py:1949 +msgid "Performs atmospheric correction using the 6S algorithm. 6S - Second Simulation of Satellite Signal in the Solar Spectrum." +msgstr "" + +#: ../gui/wxpython/menustrings.py:889 ../gui/wxpython/menustrings.py:1950 +msgid "Topographic correction" +msgstr "" + +#: ../gui/wxpython/menustrings.py:890 ../gui/wxpython/menustrings.py:1951 +msgid "Computes topographic correction of reflectance." +msgstr "" + +#: ../gui/wxpython/menustrings.py:891 ../gui/wxpython/menustrings.py:1952 +msgid "Orthophoto tools" +msgstr "" + +#: ../gui/wxpython/menustrings.py:892 ../gui/wxpython/menustrings.py:1953 +msgid "Manage GCPs for 3D correction" +msgstr "" + +#: ../gui/wxpython/menustrings.py:893 ../gui/wxpython/menustrings.py:1954 +#: ../gui/wxpython/menustrings.py:2241 +msgid "Georectifies a map and allows managing GCP for 3D correction." +msgstr "" + +#: ../gui/wxpython/menustrings.py:894 ../gui/wxpython/menustrings.py:1955 +#: ../gui/wxpython/menustrings.py:2230 +msgid "Corrects scanning distortions" +msgstr "" + +#: ../gui/wxpython/menustrings.py:895 ../gui/wxpython/menustrings.py:1956 +#: ../gui/wxpython/menustrings.py:2231 +msgid "Corrects scanning distortions of a scanned aerial photo." +msgstr "" + +#: ../gui/wxpython/menustrings.py:896 ../gui/wxpython/menustrings.py:1957 +msgid "Initialize ortho parameters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:897 ../gui/wxpython/menustrings.py:1958 +msgid "Interactively creates or modifies entries in a camera initial exposure station file for imagery group referenced by a sub-block." +msgstr "" + +#: ../gui/wxpython/menustrings.py:898 ../gui/wxpython/menustrings.py:1959 +msgid "Camera parameters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:899 ../gui/wxpython/menustrings.py:1960 +msgid "Select and modify the imagery group camera reference file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:900 ../gui/wxpython/menustrings.py:1961 +msgid "Elevation model for orthorectification" +msgstr "" + +#: ../gui/wxpython/menustrings.py:901 ../gui/wxpython/menustrings.py:1962 +msgid "Select or modify the target elevation model." +msgstr "" + +#: ../gui/wxpython/menustrings.py:902 ../gui/wxpython/menustrings.py:1963 +msgid "Target group for orthorectification" +msgstr "" + +#: ../gui/wxpython/menustrings.py:903 ../gui/wxpython/menustrings.py:1964 +msgid "Select or modify the imagery group target." +msgstr "" + +#: ../gui/wxpython/menustrings.py:904 ../gui/wxpython/menustrings.py:1965 +msgid "Compute ortho transformation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:905 ../gui/wxpython/menustrings.py:1966 +#: ../gui/wxpython/menustrings.py:2266 +msgid "Computes a coordinate transformation based on the control points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:906 ../gui/wxpython/menustrings.py:1967 +msgid "Orthorectify imagery" +msgstr "" + +#: ../gui/wxpython/menustrings.py:907 ../gui/wxpython/menustrings.py:1968 +msgid "Orthorectifies an image by using the image to photo coordinate transformation matrix." +msgstr "" + +#: ../gui/wxpython/menustrings.py:908 ../gui/wxpython/menustrings.py:1969 +msgid "Satellite images products" +msgstr "" + +#: ../gui/wxpython/menustrings.py:909 ../gui/wxpython/menustrings.py:1970 +msgid "Vegetation indices" +msgstr "" + +#: ../gui/wxpython/menustrings.py:910 ../gui/wxpython/menustrings.py:1971 +msgid "Calculates different types of vegetation indices. Uses red and nir bands mostly, and some indices require additional bands." +msgstr "" + +#: ../gui/wxpython/menustrings.py:911 ../gui/wxpython/menustrings.py:1972 +msgid "Tasseled cap vegetation index" +msgstr "" + +#: ../gui/wxpython/menustrings.py:912 ../gui/wxpython/menustrings.py:1973 +msgid "Performs Tasseled Cap (Kauth Thomas) transformation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:913 ../gui/wxpython/menustrings.py:1974 +msgid "Albedo" +msgstr "" + +#: ../gui/wxpython/menustrings.py:914 ../gui/wxpython/menustrings.py:1975 +msgid "Computes broad band albedo from surface reflectance." +msgstr "" + +#: ../gui/wxpython/menustrings.py:915 ../gui/wxpython/menustrings.py:1976 +msgid "Emissivity" +msgstr "" + +#: ../gui/wxpython/menustrings.py:916 ../gui/wxpython/menustrings.py:1977 +msgid "Computes emissivity from NDVI, generic method for sparse land." +msgstr "" + +#: ../gui/wxpython/menustrings.py:917 ../gui/wxpython/menustrings.py:1978 +msgid "Biomass growth" +msgstr "" + +#: ../gui/wxpython/menustrings.py:918 ../gui/wxpython/menustrings.py:1979 +msgid "Computes biomass growth, precursor of crop yield calculation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:919 ../gui/wxpython/menustrings.py:1980 +msgid "Evapotranspiration calculation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:920 ../gui/wxpython/menustrings.py:1981 +msgid "Instantaneaous Net Radiation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:921 ../gui/wxpython/menustrings.py:1982 +msgid "Net radiation approximation (Bastiaanssen, 1995)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:922 ../gui/wxpython/menustrings.py:1983 +msgid "Soil heat flux" +msgstr "" + +#: ../gui/wxpython/menustrings.py:923 ../gui/wxpython/menustrings.py:1984 +msgid "Soil heat flux approximation (Bastiaanssen, 1995)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:924 ../gui/wxpython/menustrings.py:1985 +msgid "Sensible heat flux" +msgstr "" + +#: ../gui/wxpython/menustrings.py:925 ../gui/wxpython/menustrings.py:1986 +msgid "Computes sensible heat flux iteration SEBAL 01." +msgstr "" + +#: ../gui/wxpython/menustrings.py:926 ../gui/wxpython/menustrings.py:1987 +msgid "Evaporative fraction" +msgstr "" + +#: ../gui/wxpython/menustrings.py:927 ../gui/wxpython/menustrings.py:1988 +msgid "Computes evaporative fraction and root zone soil moisture." +msgstr "" + +#: ../gui/wxpython/menustrings.py:928 ../gui/wxpython/menustrings.py:1989 +msgid "Actual Evapotranspiration" +msgstr "" + +#: ../gui/wxpython/menustrings.py:929 ../gui/wxpython/menustrings.py:1990 +msgid "Actual evapotranspiration for diurnal period (Bastiaanssen, 1995)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:930 ../gui/wxpython/menustrings.py:1991 +msgid "Temporal integration of ETa" +msgstr "" + +#: ../gui/wxpython/menustrings.py:931 ../gui/wxpython/menustrings.py:1992 +msgid "Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:932 ../gui/wxpython/menustrings.py:1993 +msgid "Hargreaves methods Evapotranspiration" +msgstr "" + +#: ../gui/wxpython/menustrings.py:933 ../gui/wxpython/menustrings.py:1994 +msgid "Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001." +msgstr "" + +#: ../gui/wxpython/menustrings.py:934 ../gui/wxpython/menustrings.py:1995 +msgid "Penman-Monteith Evapotranspiration" +msgstr "" + +#: ../gui/wxpython/menustrings.py:935 ../gui/wxpython/menustrings.py:1996 +msgid "Computes potential evapotranspiration calculation with hourly Penman-Monteith." +msgstr "" + +#: ../gui/wxpython/menustrings.py:936 ../gui/wxpython/menustrings.py:1997 +msgid "Priestley-Taylor Evapotranspiration" +msgstr "" + +#: ../gui/wxpython/menustrings.py:937 ../gui/wxpython/menustrings.py:1998 +msgid "Computes evapotranspiration calculation Priestley and Taylor formulation, 1972." +msgstr "" + +#: ../gui/wxpython/menustrings.py:939 ../gui/wxpython/menustrings.py:2000 +msgid "Kappa analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:940 ../gui/wxpython/menustrings.py:2001 +msgid "Calculates error matrix and kappa parameter for accuracy assessment of classification result." +msgstr "" + +#: ../gui/wxpython/menustrings.py:941 ../gui/wxpython/menustrings.py:2002 +msgid "OIF for LandSat TM" +msgstr "" + +#: ../gui/wxpython/menustrings.py:942 ../gui/wxpython/menustrings.py:2003 +msgid "Calculates Optimum-Index-Factor table for spectral bands" +msgstr "" + +#: ../gui/wxpython/menustrings.py:943 ../gui/wxpython/menustrings.py:2004 +msgid "3D r&aster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:944 ../gui/wxpython/menustrings.py:2005 +msgid "Develop 3D raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:945 ../gui/wxpython/menustrings.py:2006 +msgid "Manage 3D NULL values" +msgstr "" + +#: ../gui/wxpython/menustrings.py:946 ../gui/wxpython/menustrings.py:2007 +msgid "Explicitly create the 3D NULL-value bitmap file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:948 ../gui/wxpython/menustrings.py:2009 +msgid "Modifies a timestamp for a 3D raster map. Print/add/remove a timestamp for a 3D raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:949 ../gui/wxpython/menustrings.py:2010 +msgid "Retile 3D raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:950 ../gui/wxpython/menustrings.py:2011 +msgid "Retiles an existing 3D raster map with user defined x, y and z tile size." +msgstr "" + +#: ../gui/wxpython/menustrings.py:952 ../gui/wxpython/menustrings.py:2013 +msgid "Allows creation and/or modification of 3D raster map layer support files." +msgstr "" + +#: ../gui/wxpython/menustrings.py:954 ../gui/wxpython/menustrings.py:2015 +msgid "3D rasters to raster series" +msgstr "" + +#: ../gui/wxpython/menustrings.py:956 ../gui/wxpython/menustrings.py:2017 +msgid "3D color tables" +msgstr "" + +#: ../gui/wxpython/menustrings.py:957 ../gui/wxpython/menustrings.py:2018 +msgid "Creates/modifies the color table associated with a 3D raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:958 ../gui/wxpython/menustrings.py:2019 +msgid "Export 3D color table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:959 ../gui/wxpython/menustrings.py:2020 +msgid "Exports the color table associated with a 3D raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:960 ../gui/wxpython/menustrings.py:2021 +msgid "3D mask" +msgstr "" + +#: ../gui/wxpython/menustrings.py:961 ../gui/wxpython/menustrings.py:2022 +msgid "Establishes the current working 3D raster mask." +msgstr "" + +#: ../gui/wxpython/menustrings.py:962 ../gui/wxpython/menustrings.py:963 +#: ../gui/wxpython/menustrings.py:2023 ../gui/wxpython/menustrings.py:2024 +msgid "3D raster map calculator" +msgstr "" + +#: ../gui/wxpython/menustrings.py:964 ../gui/wxpython/menustrings.py:2025 +msgid "Cross section" +msgstr "" + +#: ../gui/wxpython/menustrings.py:965 ../gui/wxpython/menustrings.py:2026 +msgid "Creates cross section 2D raster map from 3D raster map based on 2D elevation map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:967 ../gui/wxpython/menustrings.py:2028 +msgid "Numerical calculation program for transient, confined groundwater flow in three dimensions." +msgstr "" + +#: ../gui/wxpython/menustrings.py:968 ../gui/wxpython/menustrings.py:2029 +msgid "3D flow lines" +msgstr "" + +#: ../gui/wxpython/menustrings.py:969 ../gui/wxpython/menustrings.py:2030 +msgid "Computes 3D flow lines and 3D flow accumulation." +msgstr "" + +#: ../gui/wxpython/menustrings.py:970 ../gui/wxpython/menustrings.py:2031 +msgid "3D gradient" +msgstr "" + +#: ../gui/wxpython/menustrings.py:971 ../gui/wxpython/menustrings.py:2032 +msgid "Computes gradient of a 3D raster map and outputs gradient components as three 3D raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:972 ../gui/wxpython/menustrings.py:2033 +msgid "3D neighborhood analysis" +msgstr "" + +#: ../gui/wxpython/menustrings.py:973 ../gui/wxpython/menustrings.py:2034 +msgid "Makes each voxel value a function of the values assigned to the voxels around it, and stores new voxel values in an output 3D raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:974 ../gui/wxpython/menustrings.py:2035 +msgid "Create 3D display file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:975 ../gui/wxpython/menustrings.py:2036 +msgid "Creates a display file from an existing 3D raster map according to specified threshold levels." +msgstr "" + +#: ../gui/wxpython/menustrings.py:976 ../gui/wxpython/menustrings.py:2037 +msgid "Interpolate 3D raster from points" +msgstr "" + +#: ../gui/wxpython/menustrings.py:977 ../gui/wxpython/menustrings.py:2038 +msgid "Interpolates point data to a 3D raster map using regularized spline with tension (RST) algorithm." +msgstr "" + +#: ../gui/wxpython/menustrings.py:979 ../gui/wxpython/menustrings.py:2040 +msgid "Basic 3D raster metadata" +msgstr "" + +#: ../gui/wxpython/menustrings.py:980 ../gui/wxpython/menustrings.py:2041 +msgid "Outputs basic information about a user-specified 3D raster map layer." +msgstr "" + +#: ../gui/wxpython/menustrings.py:981 ../gui/wxpython/menustrings.py:2042 +msgid "3D raster statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:982 ../gui/wxpython/menustrings.py:2043 +msgid "Generates volume statistics for 3D raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:983 ../gui/wxpython/menustrings.py:2044 +msgid "Univariate statistics for 3D rasters" +msgstr "" + +#: ../gui/wxpython/menustrings.py:984 ../gui/wxpython/menustrings.py:2045 +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:985 ../gui/wxpython/menustrings.py:2046 +msgid "&Database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:986 ../gui/wxpython/menustrings.py:2047 +msgid "Database information" +msgstr "" + +#: ../gui/wxpython/menustrings.py:987 ../gui/wxpython/menustrings.py:2048 +msgid "List databases" +msgstr "" + +#: ../gui/wxpython/menustrings.py:988 ../gui/wxpython/menustrings.py:2049 +msgid "Lists all databases for a given driver and location." +msgstr "" + +#: ../gui/wxpython/menustrings.py:989 ../gui/wxpython/menustrings.py:2050 +msgid "List drivers" +msgstr "" + +#: ../gui/wxpython/menustrings.py:990 ../gui/wxpython/menustrings.py:2051 +msgid "Lists all database drivers." +msgstr "" + +#: ../gui/wxpython/menustrings.py:991 ../gui/wxpython/menustrings.py:2052 +msgid "List tables" +msgstr "" + +#: ../gui/wxpython/menustrings.py:992 ../gui/wxpython/menustrings.py:2053 +msgid "Lists all tables for a given database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:993 ../gui/wxpython/menustrings.py:2054 +msgid "Describe table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:994 ../gui/wxpython/menustrings.py:2055 +msgid "Describes a table in detail." +msgstr "" + +#: ../gui/wxpython/menustrings.py:995 ../gui/wxpython/menustrings.py:2056 +msgid "List columns" +msgstr "" + +#: ../gui/wxpython/menustrings.py:996 ../gui/wxpython/menustrings.py:2057 +msgid "List all columns for a given table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:997 ../gui/wxpython/menustrings.py:2058 +msgid "Manage databases" +msgstr "" + +#: ../gui/wxpython/menustrings.py:998 ../gui/wxpython/menustrings.py:2059 +msgid "Connect" +msgstr "" + +#: ../gui/wxpython/menustrings.py:999 ../gui/wxpython/menustrings.py:2060 +msgid "Prints/sets general DB connection for current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1000 ../gui/wxpython/menustrings.py:2061 +msgid "Login" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1001 ../gui/wxpython/menustrings.py:2062 +msgid "Sets user/password for DB driver/database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1002 ../gui/wxpython/menustrings.py:2063 +msgid "Create database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1003 ../gui/wxpython/menustrings.py:2064 +msgid "Creates an empty database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1004 ../gui/wxpython/menustrings.py:2065 +msgid "Drop database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:2066 +msgid "Removes an existing database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:2067 +msgid "Drop table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:2068 +msgid "Drops an attribute table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1008 ../gui/wxpython/menustrings.py:2069 +msgid "Copy table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1009 ../gui/wxpython/menustrings.py:2070 +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 "" + +#: ../gui/wxpython/menustrings.py:1010 ../gui/wxpython/menustrings.py:1032 +#: ../gui/wxpython/menustrings.py:2071 ../gui/wxpython/menustrings.py:2093 +msgid "Drop column" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1011 ../gui/wxpython/menustrings.py:2072 +msgid "Drops a column from selected attribute table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1012 ../gui/wxpython/menustrings.py:2073 +msgid "Test" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1013 ../gui/wxpython/menustrings.py:2074 +msgid "Test database driver, database must exist and set by db.connect." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1015 ../gui/wxpython/menustrings.py:2076 +msgid "Query any table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1016 ../gui/wxpython/menustrings.py:2077 +msgid "Selects data from attribute table. Performs SQL query statement(s)." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/menustrings.py:2080 +msgid "SQL statement" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1020 ../gui/wxpython/menustrings.py:2081 +msgid "Executes any SQL statement. For SELECT statements use 'db.select'." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1021 ../gui/wxpython/menustrings.py:2082 +msgid "Univariate statistics for table column" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1022 ../gui/wxpython/menustrings.py:2083 +msgid "Calculates univariate statistics on selected table column." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1023 ../gui/wxpython/menustrings.py:2084 +msgid "Vector database connections" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1024 ../gui/wxpython/menustrings.py:2085 +msgid "New table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1025 ../gui/wxpython/menustrings.py:2086 +msgid "Creates and connects a new attribute table to a given layer of an existing vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1026 ../gui/wxpython/menustrings.py:2087 +msgid "Remove table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1027 ../gui/wxpython/menustrings.py:2088 +msgid "Removes existing attribute table of a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1028 ../gui/wxpython/menustrings.py:2089 +msgid "Join table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1029 ../gui/wxpython/menustrings.py:2090 +msgid "Joins a database table to a vector map table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1030 ../gui/wxpython/menustrings.py:2091 +msgid "Add columns" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1031 ../gui/wxpython/menustrings.py:2092 +msgid "Adds one or more columns to the attribute table connected to a given vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1033 ../gui/wxpython/menustrings.py:2094 +msgid "Drops a column from the attribute table connected to a given vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1035 ../gui/wxpython/menustrings.py:2096 +msgid "Renames a column in the attribute table connected to a given vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1036 ../gui/wxpython/menustrings.py:2097 +msgid "Change values" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1037 ../gui/wxpython/menustrings.py:2098 +msgid "Updates a column in the attribute table connected to a vector map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1038 ../gui/wxpython/menustrings.py:2099 +msgid "Drop row" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1039 ../gui/wxpython/menustrings.py:2100 +msgid "Removes a vector feature from a vector map through attribute selection." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1040 ../gui/wxpython/menustrings.py:2101 +msgid "Reconnect vectors to database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1041 ../gui/wxpython/menustrings.py:2102 +msgid "Reconnects attribute tables for all vector maps from the current mapset to a new database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1042 ../gui/wxpython/menustrings.py:2103 +msgid "Set vector map - database connection" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1043 ../gui/wxpython/menustrings.py:2104 +msgid "Prints/sets DB connection for a vector map to attribute table." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1044 ../gui/wxpython/menustrings.py:2105 +msgid "&Temporal" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1045 ../gui/wxpython/menustrings.py:2106 +msgid "Manage datasets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1046 ../gui/wxpython/menustrings.py:2107 +msgid "Connect temporal database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1047 ../gui/wxpython/menustrings.py:2108 +msgid "Prints/sets general temporal GIS database connection for current mapset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1048 ../gui/wxpython/menustrings.py:2109 +#: ../gui/wxpython/rlisetup/frame.py:155 +msgid "Create" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1049 ../gui/wxpython/menustrings.py:2110 +msgid "Creates a space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1051 ../gui/wxpython/menustrings.py:2112 +msgid "Renames a space time dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1053 ../gui/wxpython/menustrings.py:2114 +msgid "Removes space time datasets from temporal database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1055 ../gui/wxpython/menustrings.py:2116 +msgid "Modifies the metadata of a space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1056 ../gui/wxpython/menustrings.py:2117 +msgid "Merge" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1057 ../gui/wxpython/menustrings.py:2118 +msgid "Merges several space time datasets into a single space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1058 ../gui/wxpython/menustrings.py:2119 +msgid "Temporally shift" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1059 ../gui/wxpython/menustrings.py:2120 +msgid "Shifts temporally the maps of a space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1060 ../gui/wxpython/menustrings.py:2121 +msgid "Snap maps of dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1061 ../gui/wxpython/menustrings.py:2122 +msgid "Snaps temporally the maps of a space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1063 ../gui/wxpython/menustrings.py:2124 +msgid "Lists space time datasets and maps registered in the temporal database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1064 ../gui/wxpython/menustrings.py:2125 +msgid "Copy space time dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1065 ../gui/wxpython/menustrings.py:2126 +msgid "Creates a copy of a space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1066 ../gui/wxpython/menustrings.py:2127 +msgid "Upgrade temporal database" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1067 ../gui/wxpython/menustrings.py:2128 +msgid "Upgrades the version of the temporal database." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1068 ../gui/wxpython/menustrings.py:2129 +msgid "Manage maps in datasets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1069 ../gui/wxpython/menustrings.py:2130 +msgid "Register maps in datasets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1070 ../gui/wxpython/menustrings.py:2131 +msgid "Assigns timestamps and registers raster, vector and raster3d maps in a space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1071 ../gui/wxpython/menustrings.py:2132 +msgid "Unregister maps from datasets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1072 ../gui/wxpython/menustrings.py:2133 +msgid "Unregisters raster, vector and raster3d maps from the temporal database or a specific space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1073 ../gui/wxpython/menustrings.py:2134 +msgid "List raster dataset maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1074 ../gui/wxpython/menustrings.py:2135 +msgid "Lists registered maps of a space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1075 ../gui/wxpython/menustrings.py:2136 +msgid "List vector dataset maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1076 ../gui/wxpython/menustrings.py:2137 +msgid "Lists registered maps of a space time vector dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1077 ../gui/wxpython/menustrings.py:2138 +msgid "List 3D raster dataset maps" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1078 ../gui/wxpython/menustrings.py:2139 +msgid "Lists registered maps of a space time raster3d dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1079 ../gui/wxpython/menustrings.py:2140 +msgid "Import" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1080 ../gui/wxpython/menustrings.py:2141 +msgid "Import raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1081 ../gui/wxpython/menustrings.py:2142 +msgid "Imports space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1082 ../gui/wxpython/menustrings.py:2143 +msgid "Import vector dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1083 ../gui/wxpython/menustrings.py:2144 +msgid "Imports a space time vector dataset from a GRASS specific archive file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1085 ../gui/wxpython/menustrings.py:2146 +msgid "Export raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1086 ../gui/wxpython/menustrings.py:2147 +msgid "Exports space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1087 ../gui/wxpython/menustrings.py:2148 +msgid "Export raster dataset as VTK time series" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1088 ../gui/wxpython/menustrings.py:2149 +msgid "Exports space time raster dataset as VTK time series." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1089 ../gui/wxpython/menustrings.py:2150 +msgid "Export vector dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1090 ../gui/wxpython/menustrings.py:2151 +msgid "Exports a space time vector dataset as GRASS specific archive file." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1091 ../gui/wxpython/menustrings.py:2152 +msgid "Convert raster dataset to 3D raster" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1092 ../gui/wxpython/menustrings.py:2153 +msgid "Converts a space time raster dataset into a 3D raster map." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1093 ../gui/wxpython/menustrings.py:2154 +msgid "Convert raster dataset to vector dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1094 ../gui/wxpython/menustrings.py:2155 +msgid "Converts a space time raster dataset into a space time vector dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1095 ../gui/wxpython/menustrings.py:2156 +msgid "Create contour lines from raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1096 ../gui/wxpython/menustrings.py:2157 +msgid "Produces a space time vector dataset of specified contours from a space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1097 ../gui/wxpython/menustrings.py:2158 +msgid "Extraction" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1098 ../gui/wxpython/menustrings.py:2159 +msgid "Extract subset of raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1099 ../gui/wxpython/menustrings.py:2160 +msgid "Extracts a subset of a space time raster datasets." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1100 ../gui/wxpython/menustrings.py:2161 +msgid "Extract subset of vector dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1101 ../gui/wxpython/menustrings.py:2162 +msgid "Extracts a subset of a space time vector dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1102 ../gui/wxpython/menustrings.py:2163 +msgid "Extract subset of 3D raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1103 ../gui/wxpython/menustrings.py:2164 +msgid "Extracts a subset of a space time 3D raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1104 ../gui/wxpython/menustrings.py:2165 +msgid "Select maps by temporal topology" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1105 ../gui/wxpython/menustrings.py:2166 +msgid "Select maps from space time datasets by topological relationships to other space time datasets using temporal algebra." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1106 ../gui/wxpython/menustrings.py:2167 +msgid "Query vector dataset attribute data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1107 ../gui/wxpython/menustrings.py:2168 +msgid "Prints attributes of vector maps registered in a space time vector dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1108 ../gui/wxpython/menustrings.py:2169 +msgid "Raster dataset color table" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1109 ../gui/wxpython/menustrings.py:2170 +msgid "Creates/modifies the color table associated with each raster map of the space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1110 ../gui/wxpython/menustrings.py:2171 +msgid "Raster calculations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1111 ../gui/wxpython/menustrings.py:2172 +msgid "Performs spatio-temporal mapcalc expressions on temporally sampled maps of space time raster datasets." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1112 ../gui/wxpython/menustrings.py:2173 +msgid "Temporal raster algebra" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1113 ../gui/wxpython/menustrings.py:2174 +msgid "Apply temporal and spatial operations on space time raster datasets using temporal raster algebra." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1114 ../gui/wxpython/menustrings.py:2175 +msgid "3D raster calculations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1115 ../gui/wxpython/menustrings.py:2176 +msgid "Performs r3.mapcalc expressions on maps of sampled space time 3D raster datasets." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1116 ../gui/wxpython/menustrings.py:2177 +msgid "Temporal 3D raster algebra" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1117 ../gui/wxpython/menustrings.py:2178 +msgid "Apply temporal and spatial operations on space time 3D raster datasets using temporal 3D raster algebra." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1118 ../gui/wxpython/menustrings.py:2179 +msgid "Temporal vector algebra" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1119 ../gui/wxpython/menustrings.py:2180 +msgid "Apply temporal and spatial operations on space time vector datasets using temporal vector algebra." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1120 ../gui/wxpython/menustrings.py:2181 +msgid "Interpolate gaps in raster datasets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1121 ../gui/wxpython/menustrings.py:2182 +msgid "Replaces gaps in a space time raster dataset with interpolated raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1122 ../gui/wxpython/menustrings.py:2183 +msgid "Aggregation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1123 ../gui/wxpython/menustrings.py:2184 +msgid "Neighborhood analysis in raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1124 ../gui/wxpython/menustrings.py:2185 +msgid "Performs a neighborhood analysis for each map in a space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1125 ../gui/wxpython/menustrings.py:2186 +msgid "Aggregation in raster datasets" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1126 ../gui/wxpython/menustrings.py:2187 +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:1127 ../gui/wxpython/menustrings.py:2188 +msgid "Temporal aggregation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1128 ../gui/wxpython/menustrings.py:2189 +msgid "Aggregates temporally the maps of a space time raster dataset by a user defined granularity." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1129 ../gui/wxpython/menustrings.py:2190 +msgid "Temporal aggregation by dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1130 ../gui/wxpython/menustrings.py:2191 +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:1131 ../gui/wxpython/menustrings.py:2192 +msgid "Compute cyclic accumulations" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1132 ../gui/wxpython/menustrings.py:2193 +msgid "Computes cyclic accumulations of a space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1133 ../gui/wxpython/menustrings.py:2194 +msgid "Detect accumulation patterns" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1134 ../gui/wxpython/menustrings.py:2195 +msgid "Detects accumulation patterns in temporally accumulated space time raster datasets created by t.rast.accumulate." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1135 ../gui/wxpython/menustrings.py:2196 +msgid "Sampling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1136 ../gui/wxpython/menustrings.py:2197 +msgid "Sample a space time raster dataset at point coordinates" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1137 ../gui/wxpython/menustrings.py:2198 +msgid "Sample a space time raster dataset at specific vector point coordinates and write the output to stdout using different layouts" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1138 ../gui/wxpython/menustrings.py:2199 +msgid "Query raster dataset by vector points dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1139 ../gui/wxpython/menustrings.py:2200 +msgid "Stores raster map values at spatial and temporal positions of vector points as vector attributes." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1140 ../gui/wxpython/menustrings.py:2201 +msgid "Observe specific locations in raster dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1141 ../gui/wxpython/menustrings.py:2202 +msgid "Observes specific locations in a space time raster dataset over a period of time using vector points." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1142 ../gui/wxpython/menustrings.py:2203 +msgid "Temporal sampling" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1143 ../gui/wxpython/menustrings.py:2204 +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:1145 ../gui/wxpython/menustrings.py:2206 +msgid "Space time datasets metadata" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/menustrings.py:2207 +msgid "Lists information about space time datasets and maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1147 ../gui/wxpython/menustrings.py:2208 +msgid "Univariate raster dataset statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1148 ../gui/wxpython/menustrings.py:2209 +msgid "Calculates univariate statistics from the non-null cells for each registered raster map of a space time raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1149 ../gui/wxpython/menustrings.py:2210 +msgid "Univariate vector dataset statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1150 ../gui/wxpython/menustrings.py:2211 +msgid "Calculates univariate statistics of attributes for each registered vector map of a space time vector dataset" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1151 ../gui/wxpython/menustrings.py:2212 +msgid "Univariate 3D raster dataset statistics" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1152 ../gui/wxpython/menustrings.py:2213 +msgid "Calculates univariate statistics from the non-null cells for each registered 3D raster map of a space time 3D raster dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1153 ../gui/wxpython/menustrings.py:2214 +msgid "Report temporal topology" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1154 ../gui/wxpython/menustrings.py:2215 +msgid "Lists temporal topology of a space time dataset." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1155 ../gui/wxpython/menustrings.py:2216 +#: ../gui/wxpython/menustrings.py:2223 +msgid "GUI tools" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1158 ../gui/wxpython/menustrings.py:2219 +#: ../gui/wxpython/menustrings.py:2248 +msgid "Timeline tool" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1159 ../gui/wxpython/menustrings.py:2220 +#: ../gui/wxpython/menustrings.py:2249 +msgid "Plot temporal extents." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1160 ../gui/wxpython/menustrings.py:2221 +#: ../gui/wxpython/menustrings.py:2246 +msgid "Temporal plot tool" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1161 ../gui/wxpython/menustrings.py:2222 +#: ../gui/wxpython/menustrings.py:2247 +msgid "Plot temporal values." +msgstr "" + +#: ../gui/wxpython/menustrings.py:1162 ../gui/wxpython/menustrings.py:2318 +#: ../gui/wxpython/menustrings.py:2361 +msgid "&Help" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1163 +msgid "GRASS help" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1164 ../gui/wxpython/menustrings.py:1166 +msgid "Display the HTML man pages of GRASS" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1165 +msgid "GUI help" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1167 +msgid "About system" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1168 +msgid "Prints system information" +msgstr "" + +#: ../gui/wxpython/menustrings.py:1173 +msgid "Import, export and link data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2226 +msgid "Attribute table manager" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2233 +msgid "Launch Data Catalog." +msgstr "" + +#: ../gui/wxpython/menustrings.py:2240 +msgid "Managing GCPs for 3D correction" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2251 +msgid "Interactive editing and digitization of vector maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:2253 +msgid "Interactive editing and digitization of raster maps." +msgstr "" + +#: ../gui/wxpython/menustrings.py:2254 +msgid "Miscellaneous" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2255 +msgid "Bearing/distance to coordinates" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2256 +msgid "A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2257 +msgid "Measure map distances" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2258 +msgid "Measures the lengths and areas of features." +msgstr "" + +#: ../gui/wxpython/menustrings.py:2259 +msgid "3D image rendering" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2260 +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:2261 +msgid "3D visualization script" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2262 +msgid "Creates fly-through script to run in NVIZ." +msgstr "" + +#: ../gui/wxpython/menustrings.py:2263 +msgid "Convert coordinates between projections" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2265 +msgid "Transform coordinates (affine)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2267 +msgid "PostScript map output" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2268 +msgid "Produces hardcopy PostScript map output." +msgstr "" + +#: ../gui/wxpython/menustrings.py:2279 +msgid "Save model to file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2281 +msgid "Close model file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2282 +msgid "Export to image" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2284 +msgid "Export to Python" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2286 +msgid "Export to PyWPS" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2287 +msgid "Export model to PyWPS script" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2288 +msgid "Export to actinia" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2289 +msgid "Export model to actinia script" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2290 +msgid "Quit modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2291 +msgid "Close modeler window" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2295 +msgid "&Model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2296 +msgid "Add command" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2297 +msgid "Add action (GRASS command) to model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2298 +msgid "Add data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2299 +msgid "Add data item to model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2300 +msgid "Define relation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2301 +msgid "Define relation between data and action items" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2302 +msgid "Add loop / series" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2303 +msgid "Adds loop (series) to model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2304 +msgid "Add condition" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2305 +msgid "Adds condition (if/else) to model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2307 +msgid "Adds comment to model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2308 +msgid "Remove item" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2309 +msgid "Remove action/data from model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2311 +msgid "Model properties (name, purpose, etc.)" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2312 +msgid "Delete intermediate data" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2313 +msgid "Delete intermediate data defined in the model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2315 +msgid "Run entire model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2317 +msgid "Validate entire model" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2319 ../gui/wxpython/menustrings.py:2362 +#: ../gui/wxpython/timeline/frame.py:140 ../gui/wxpython/tplot/frame.py:400 +msgid "Help" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2320 +msgid "Display the HTML man pages of Graphical modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2321 +msgid "About Graphical Modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2322 +msgid "Display information about Graphical Modeler" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2327 ../gui/wxpython/psmap/toolbars.py:81 +msgid "Specify paper size, margins and orientation" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2328 +msgid "Load instruction file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2329 ../gui/wxpython/psmap/toolbars.py:72 +msgid "Load text file with mapping instructions" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2330 +msgid "Export instruction file" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2331 ../gui/wxpython/psmap/toolbars.py:69 +msgid "Generate text file with mapping instructions" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2332 +msgid "Export to PostScript" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2333 ../gui/wxpython/psmap/toolbars.py:75 +msgid "Generate PostScript output" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2334 +msgid "Export to PDF" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2335 ../gui/wxpython/psmap/toolbars.py:77 +msgid "Generate PDF output" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2336 ../gui/wxpython/menustrings.py:2337 +msgid "Launch ps.map dialog" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2339 +msgid "Close Cartographic Composer" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2340 +msgid "&Insert" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2341 ../gui/wxpython/psmap/dialogs.py:950 +#: ../gui/wxpython/psmap/dialogs.py:999 ../gui/wxpython/psmap/toolbars.py:88 +msgid "Map frame" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2342 +msgid "Add or edit map frame" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2344 +msgid "Add or edit raster map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2346 +msgid "Add or edit vector map" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2347 +msgid "Map legend" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2348 +msgid "Add or edit raster and vector legend" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2349 ../gui/wxpython/psmap/toolbars.py:96 +msgid "Map info" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2350 +msgid "Add or edit map info" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2351 ../gui/wxpython/nviz/tools.py:2498 +#: ../gui/wxpython/psmap/toolbars.py:98 +msgid "Scale bar" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2352 +msgid "Add or edit scale bar" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2357 ../gui/wxpython/nviz/tools.py:2441 +#: ../gui/wxpython/psmap/dialogs.py:6184 ../gui/wxpython/psmap/toolbars.py:100 +msgid "North Arrow" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2360 ../gui/wxpython/psmap/toolbars.py:92 +msgid "Delete selected object" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2363 +msgid "Display the HTML man pages of Cartographic Composer" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2364 +msgid "About Cartographic Composer" +msgstr "" + +#: ../gui/wxpython/menustrings.py:2365 +msgid "Display information about Cartographic Composer" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:88 +msgid "Check all" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:91 +msgid "Clear all" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:151 +msgid "Enter vector attribute values" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:318 +#, python-format +msgid "Bad color format '%s'. Use color format '0:0:0'" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:418 +#: ../gui/wxpython/wxplot/dialogs.py:440 +msgid "Select raster map:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:420 +msgid "Select vector map:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:438 +msgid "Import or export color table:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:447 +msgid "Choose file to load color table" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:448 +msgid "Load" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:449 +msgid "Type filename or click to choose file and load color table" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:459 +msgid "Choose file to save color table" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:460 +msgid "Type filename or click to choose file and save color table" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:474 +msgid "&Set" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:483 +msgid "Load color table:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:490 +msgid "Load color table from file:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:496 +msgid "Save color table to file:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:526 +msgid "Reload default table" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:586 +msgid "Show preview of map (current Map Display extent is used)." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:621 +#: ../gui/wxpython/modules/colorrules.py:1897 +msgid "No valid color rules given." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:670 +#, python-format +msgid "File <%s> already already exists. Do you want to overwrite it?" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:712 +msgid "Invalid color table format" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:785 +#, python-format +msgid "Invalid rule value '%s'. Unable to apply color table." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:868 +msgid "Create new color table for raster map" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:962 +msgid "Enter raster category values or percents" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:965 +msgid "fp range" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:965 +#: ../gui/wxpython/modules/colorrules.py:1649 +#: ../gui/wxpython/modules/colorrules.py:1655 +#: ../gui/wxpython/psmap/dialogs.py:3560 +msgid "range" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:967 +#, python-format +msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1074 +msgid "Create new color rules for vector map" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1086 +#: ../gui/wxpython/modules/colorrules.py:1668 +msgid "Enter vector attribute values or percents:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1088 +#: ../gui/wxpython/modules/colorrules.py:1670 +msgid "Enter vector attribute values:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1099 +msgid "Select vector columns" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1101 +msgid "Layer:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1102 +msgid "Attribute column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1105 +msgid "Load color from column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1105 +msgid "Save color to column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1107 +msgid "Load size from column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1107 +msgid "Save size to column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1109 +msgid "Load width from column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1109 +msgid "Save width to column:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1115 +msgid "Use color column instead of color table:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1128 +msgid "Add GRASSRGB column to current attribute table." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1175 +#: ../gui/wxpython/modules/colorrules.py:1224 +msgid "Import or export color table" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1237 +#, 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:1242 +msgid "No database connection defined" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1318 +#, 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:1501 +#, python-format +msgid "%s column already exists." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1540 +msgid "Please wait, loading data from attribute table..." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1604 +#, 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:1610 +msgid "Too many records" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1662 +#, python-format +msgid "Enter vector attribute values or percents %s:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1665 +#, python-format +msgid "Enter vector attribute values %s:" +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1806 +msgid "Please select column to save values to." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1839 +msgid "No color column defined. Operation canceled." +msgstr "" + +#: ../gui/wxpython/modules/colorrules.py:1882 +msgid "Thematic mapping for vector map in 3D view" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:43 +msgid "Fetch & install extension from GRASS Addons" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:63 +msgid "List of extensions - double-click to install" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:113 +msgid "&Install" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:114 +msgid "Install selected add-ons GRASS tool" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:117 +msgid "Show g.extension manual page" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:185 +msgid "Extension not defined" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:209 +msgid "Fetching list of tools from GRASS-Addons (be patient)..." +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:224 +#, python-format +msgid "%d extensions loaded" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:247 +msgid "Install" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:250 +msgid "Show manual page" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:362 +#, python-format +msgid "Unable to load extensions. %s" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:410 +msgid "Manage installed GRASS Addons extensions" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:425 +msgid "List of installed extensions" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:432 +msgid "Uninstall" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:434 +msgid "Uninstall selected Addons extensions" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:436 +msgid "Reinstall" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:438 +msgid "Reinstall selected Addons extensions" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:471 +msgid "No extension selected. Operation canceled." +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:497 +#, 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:501 +msgid "Remove extension" +msgstr "" + +#: ../gui/wxpython/modules/extensions.py:540 +msgid "Extension" +msgstr "" + +#: ../gui/wxpython/modules/histogram.py:297 +msgid "Histogram Tool [d.histogram]" +msgstr "" + +#: ../gui/wxpython/modules/histogram.py:426 +msgid "Select font for histogram text" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:52 +msgid "Multiple import" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:73 +msgid "List of raster layers" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:75 +msgid "List of vector layers" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:77 +#, python-format +msgid "List of %s layers" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:79 +#: ../gui/wxpython/modules/import_export.py:1008 +msgid "right click to (un)select all" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:86 +msgid "Name for output GRASS map (editable)" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:100 +msgid "Override projection check (use current location's projection)" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:132 +#: ../gui/wxpython/modules/import_export.py:455 +#: ../gui/wxpython/modules/import_export.py:619 +msgid "&Import" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:133 +#: ../gui/wxpython/modules/import_export.py:456 +#: ../gui/wxpython/modules/import_export.py:620 +msgid "Import selected layers" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:141 +msgid "Source settings" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:165 +msgid "Import settings" +msgstr "" + +#: ../gui/wxpython/modules/import_export.py:259 +#, python-format msgid "Output map names %(names)s exist. " msgstr "" @@ -10308,10 +14960,6 @@ msgstr "" msgid "Dialog cannot be closed while command is running." msgstr "" -#: ../gui/wxpython/modules/import_export.py:434 -msgid "Link external raster data" -msgstr "" - #: ../gui/wxpython/modules/import_export.py:443 #: ../gui/wxpython/modules/import_export.py:607 msgid "Add linked layers into layer tree" @@ -10342,10 +14990,6 @@ msgstr "" msgid "Unable to determine number of raster bands" msgstr "" -#: ../gui/wxpython/modules/import_export.py:598 -msgid "Link external vector data" -msgstr "" - #: ../gui/wxpython/modules/import_export.py:752 msgid "Define output format for vector data" msgstr "" @@ -11125,15 +15769,6 @@ msgstr "" msgid "Sets the Z coordinate of the current cutting plane (only meaningful when tilt is not 0)" msgstr "" -#: ../gui/wxpython/nviz/tools.py:1445 -msgid "New" -msgstr "" - -#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:2482 -#: ../gui/wxpython/nviz/tools.py:2544 ../gui/wxpython/psmap/dialogs.py:1858 -msgid "Delete" -msgstr "" - #: ../gui/wxpython/nviz/tools.py:1461 msgid "Fine resolution:" msgstr "" @@ -11277,11 +15912,6 @@ msgstr "" msgid "Elevation of fringe from bottom:" msgstr "" -#: ../gui/wxpython/nviz/tools.py:2441 ../gui/wxpython/psmap/dialogs.py:6184 -#: ../gui/wxpython/psmap/toolbars.py:100 -msgid "North Arrow" -msgstr "" - #: ../gui/wxpython/nviz/tools.py:2447 msgid "Arrow length (in map units):" msgstr "" @@ -11294,10 +15924,6 @@ msgstr "" msgid "Place arrow" msgstr "" -#: ../gui/wxpython/nviz/tools.py:2498 ../gui/wxpython/psmap/toolbars.py:98 -msgid "Scale bar" -msgstr "" - #: ../gui/wxpython/nviz/tools.py:2504 msgid "Scale bar length (in map units):" msgstr "" @@ -11410,10 +16036,6 @@ msgstr "" msgid "None" msgstr "" -#: ../gui/wxpython/nviz/tools.py:5184 -msgid "Plane" -msgstr "" - #: ../gui/wxpython/nviz/tools.py:5388 msgid "Vector map is 3D" msgstr "" @@ -11666,11 +16288,6 @@ msgstr "" msgid "Map frame settings" msgstr "" -#: ../gui/wxpython/psmap/dialogs.py:950 ../gui/wxpython/psmap/dialogs.py:999 -#: ../gui/wxpython/psmap/toolbars.py:88 -msgid "Map frame" -msgstr "" - #: ../gui/wxpython/psmap/dialogs.py:1004 msgid "Map frame options:" msgstr "" @@ -12160,7 +16777,7 @@ msgid "Number of segments:" msgstr "" #: ../gui/wxpython/psmap/dialogs.py:4990 -msgid "Label every " +msgid "Label every" msgstr "" #: ../gui/wxpython/psmap/dialogs.py:4991 @@ -12474,8 +17091,9 @@ msgstr "" msgid "Click and drag to resize object" msgstr "" -#: ../gui/wxpython/psmap/frame.py:2687 -msgid "labels: " +#: ../gui/wxpython/psmap/frame.py:2688 +#, python-brace-format +msgid "labels: {files}" msgstr "" #: ../gui/wxpython/psmap/g.gui.psmap.py:44 @@ -12566,26 +17184,6 @@ msgstr "" msgid "Select graphics tool" msgstr "" -#: ../gui/wxpython/psmap/toolbars.py:69 -msgid "Generate text file with mapping instructions" -msgstr "" - -#: ../gui/wxpython/psmap/toolbars.py:72 -msgid "Load text file with mapping instructions" -msgstr "" - -#: ../gui/wxpython/psmap/toolbars.py:75 -msgid "Generate PostScript output" -msgstr "" - -#: ../gui/wxpython/psmap/toolbars.py:77 -msgid "Generate PDF output" -msgstr "" - -#: ../gui/wxpython/psmap/toolbars.py:81 -msgid "Specify paper size, margins and orientation" -msgstr "" - #: ../gui/wxpython/psmap/toolbars.py:84 msgid "Full extent" msgstr "" @@ -12598,18 +17196,10 @@ msgstr "" msgid "Click and drag to place map frame" msgstr "" -#: ../gui/wxpython/psmap/toolbars.py:92 -msgid "Delete selected object" -msgstr "" - #: ../gui/wxpython/psmap/toolbars.py:94 msgid "Show preview" msgstr "" -#: ../gui/wxpython/psmap/toolbars.py:96 -msgid "Map info" -msgstr "" - #: ../gui/wxpython/psmap/toolbars.py:97 ../gui/wxpython/wxplot/dialogs.py:1043 #: ../gui/wxpython/wxplot/dialogs.py:1100 #: ../gui/wxpython/wxplot/dialogs.py:1162 @@ -12827,10 +17417,6 @@ msgstr "" msgid "Remove a configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:155 -msgid "Create" -msgstr "" - #: ../gui/wxpython/rlisetup/frame.py:156 msgid "Create a new configuration file" msgstr "" @@ -13036,10 +17622,6 @@ msgstr "" msgid "Sample units" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:984 -msgid "Moving window" -msgstr "" - #: ../gui/wxpython/rlisetup/wizard.py:985 msgid "" "Select areas from the\n" @@ -13222,6 +17804,7 @@ msgid "Is this area ok?" msgstr "" #: ../gui/wxpython/rlisetup/wizard.py:1822 +#: ../gui/wxpython/rlisetup/wizard.py:1916 #, python-brace-format msgid "Select sample area {areas_count} of {area_num}" msgstr "" @@ -13231,77 +17814,73 @@ msgstr "" msgid "The raster map <{map_name}> already exists. Please remove or rename the maps with the prefix '{prefix}' or select the option to overwrite existing maps" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:1915 -msgid "Select sample area 1 of " -msgstr "" - -#: ../gui/wxpython/rlisetup/wizard.py:1953 +#: ../gui/wxpython/rlisetup/wizard.py:1957 msgid "Configuration file name:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:1969 +#: ../gui/wxpython/rlisetup/wizard.py:1973 msgid "Raster name:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:1985 +#: ../gui/wxpython/rlisetup/wizard.py:1989 msgid "Vector name:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2002 +#: ../gui/wxpython/rlisetup/wizard.py:2006 msgid "Region type:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2036 +#: ../gui/wxpython/rlisetup/wizard.py:2040 msgid "Sampling area type:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2150 +#: ../gui/wxpython/rlisetup/wizard.py:2154 msgid "Region keyboard values:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2170 -#: ../gui/wxpython/rlisetup/wizard.py:2197 +#: ../gui/wxpython/rlisetup/wizard.py:2174 #: ../gui/wxpython/rlisetup/wizard.py:2201 +#: ../gui/wxpython/rlisetup/wizard.py:2205 msgid "Type of shape:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2173 -#: ../gui/wxpython/rlisetup/wizard.py:2204 +#: ../gui/wxpython/rlisetup/wizard.py:2177 +#: ../gui/wxpython/rlisetup/wizard.py:2208 msgid "Radius size:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2174 -#: ../gui/wxpython/rlisetup/wizard.py:2205 +#: ../gui/wxpython/rlisetup/wizard.py:2178 +#: ../gui/wxpython/rlisetup/wizard.py:2209 msgid "Name circle mask:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2176 -#: ../gui/wxpython/rlisetup/wizard.py:2207 +#: ../gui/wxpython/rlisetup/wizard.py:2180 +#: ../gui/wxpython/rlisetup/wizard.py:2211 msgid "Width size:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2177 -#: ../gui/wxpython/rlisetup/wizard.py:2208 +#: ../gui/wxpython/rlisetup/wizard.py:2181 +#: ../gui/wxpython/rlisetup/wizard.py:2212 msgid "Height size:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2180 +#: ../gui/wxpython/rlisetup/wizard.py:2184 msgid "Method of distribution:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2183 +#: ../gui/wxpython/rlisetup/wizard.py:2187 msgid "Number sampling units:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2186 +#: ../gui/wxpython/rlisetup/wizard.py:2190 msgid "Distance between units:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2189 +#: ../gui/wxpython/rlisetup/wizard.py:2193 msgid "Number row strates:" msgstr "" -#: ../gui/wxpython/rlisetup/wizard.py:2191 +#: ../gui/wxpython/rlisetup/wizard.py:2195 msgid "Number column strates:" msgstr "" @@ -13642,10 +18221,6 @@ msgstr "" msgid "Timeline Tool" msgstr "" -#: ../gui/wxpython/timeline/frame.py:140 ../gui/wxpython/tplot/frame.py:400 -msgid "Help" -msgstr "" - #: ../gui/wxpython/timeline/frame.py:143 msgid "3D plot of spatio-temporal extents" msgstr "" @@ -13702,26 +18277,26 @@ msgstr "" msgid "Time [%s]" msgstr "" -#: ../gui/wxpython/timeline/frame.py:516 ../gui/wxpython/tplot/frame.py:1181 +#: ../gui/wxpython/timeline/frame.py:516 ../gui/wxpython/tplot/frame.py:1183 #, python-format msgid "Please specify the space time dataset <%s>." msgstr "" -#: ../gui/wxpython/timeline/frame.py:517 ../gui/wxpython/tplot/frame.py:1182 +#: ../gui/wxpython/timeline/frame.py:517 ../gui/wxpython/tplot/frame.py:1184 msgid "Ambiguous dataset name" msgstr "" -#: ../gui/wxpython/timeline/frame.py:608 ../gui/wxpython/tplot/frame.py:1358 +#: ../gui/wxpython/timeline/frame.py:608 ../gui/wxpython/tplot/frame.py:1360 #, python-format msgid "Space time raster dataset: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:610 ../gui/wxpython/tplot/frame.py:1360 +#: ../gui/wxpython/timeline/frame.py:610 ../gui/wxpython/tplot/frame.py:1362 #, python-format msgid "Space time vector dataset: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:612 ../gui/wxpython/tplot/frame.py:1362 +#: ../gui/wxpython/timeline/frame.py:612 ../gui/wxpython/tplot/frame.py:1364 #, python-format msgid "Space time 3D raster dataset: %s" msgstr "" @@ -13838,9 +18413,9 @@ msgstr "" msgid "Do you want the CSV header?" msgstr "" -#: ../gui/wxpython/tplot/frame.py:424 ../gui/wxpython/tplot/frame.py:1059 -#: ../gui/wxpython/tplot/frame.py:1066 ../gui/wxpython/tplot/frame.py:1095 -#: ../gui/wxpython/tplot/frame.py:1254 +#: ../gui/wxpython/tplot/frame.py:424 ../gui/wxpython/tplot/frame.py:1061 +#: ../gui/wxpython/tplot/frame.py:1068 ../gui/wxpython/tplot/frame.py:1097 +#: ../gui/wxpython/tplot/frame.py:1256 msgid "Invalid input coordinates" msgstr "" @@ -13893,40 +18468,40 @@ msgstr "" msgid "File exists" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1020 -msgid "Please change name of output CSV file or " +#: ../gui/wxpython/tplot/frame.py:1021 +msgid "Please change name of output CSV file or enable overwriting." msgstr "" -#: ../gui/wxpython/tplot/frame.py:1048 +#: ../gui/wxpython/tplot/frame.py:1050 msgid "Incorrect coordinates format, should be: x,y" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1074 +#: ../gui/wxpython/tplot/frame.py:1076 msgid "Seed point outside the current region" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1088 +#: ../gui/wxpython/tplot/frame.py:1090 msgid "Invalid input raster dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1111 +#: ../gui/wxpython/tplot/frame.py:1113 msgid "Invalid input vector dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1244 ../gui/wxpython/tplot/frame.py:1308 +#: ../gui/wxpython/tplot/frame.py:1246 ../gui/wxpython/tplot/frame.py:1310 msgid "Invalid input temporal dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1332 +#: ../gui/wxpython/tplot/frame.py:1334 msgid "Datasets have different number of values" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1365 +#: ../gui/wxpython/tplot/frame.py:1367 #, python-brace-format msgid "Value for {date} is {val}" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1367 +#: ../gui/wxpython/tplot/frame.py:1369 msgid "Press Del to dismiss." msgstr "" @@ -15107,10 +19682,6 @@ msgstr "" msgid "Unable to connect to <%s>" msgstr "" -#: ../gui/wxpython/web_services/dialogs.py:523 -msgid "Add web service layer" -msgstr "" - #: ../gui/wxpython/web_services/dialogs.py:534 msgid "Add selected web service layers as map layer into layer tree" msgstr "" @@ -15131,10 +19702,6 @@ msgstr "" msgid "Export region" msgstr "" -#: ../gui/wxpython/web_services/dialogs.py:870 -msgid "Map display" -msgstr "" - #: ../gui/wxpython/web_services/dialogs.py:875 msgid "Named region" msgstr "" @@ -15648,7 +20215,7 @@ msgstr "" msgid "Bivariate Scatterplot" msgstr "" -#: ../gui/wxpython/wxplot/scatter.py:108 ../gui/wxpython/wxplot/scatter.py:259 +#: ../gui/wxpython/wxplot/scatter.py:108 ../gui/wxpython/wxplot/scatter.py:265 msgid "Nothing to plot." msgstr "" @@ -15656,25 +20223,31 @@ msgstr "" msgid "At least 2 raster maps must be specified" msgstr "" -#: ../gui/wxpython/wxplot/scatter.py:139 -msgid "Bivariate Scatterplot of " +#: ../gui/wxpython/wxplot/scatter.py:149 +#, python-brace-format +msgid "{first} vs {second}" msgstr "" -#: ../gui/wxpython/wxplot/scatter.py:161 ../gui/wxpython/wxplot/scatter.py:162 -#, python-format -msgid "Raster <%s> cell values" +#: ../gui/wxpython/wxplot/scatter.py:155 +#, python-brace-format +msgid "Bivariate Scatterplot of {pairs}" msgstr "" -#: ../gui/wxpython/wxplot/scatter.py:166 ../gui/wxpython/wxplot/scatter.py:170 -#, python-format -msgid ": %s" +#: ../gui/wxpython/wxplot/scatter.py:173 +#, python-brace-format +msgid "Raster <{raster}> cell values: {units}" +msgstr "" + +#: ../gui/wxpython/wxplot/scatter.py:176 +#, python-brace-format +msgid "Raster <{raster}> cell values" msgstr "" -#: ../gui/wxpython/wxplot/scatter.py:264 +#: ../gui/wxpython/wxplot/scatter.py:270 msgid "Regression Statistics for Scatterplot(s)" msgstr "" -#: ../gui/wxpython/wxplot/scatter.py:281 +#: ../gui/wxpython/wxplot/scatter.py:287 #, python-format msgid "" "Regression equation for raster map <%(rast1)s> vs. <%(rast2)s>:\n" From ba898e78d725dce81c6218dac1ceffee7f93e29f Mon Sep 17 00:00:00 2001 From: SAKET KUMAR MALL <72020337+saket0187@users.noreply.github.com> Date: Tue, 13 Oct 2026 09:15:18 +0530 Subject: [PATCH 09/10] t.rast.import, t.vect.import: Number basename maps from 1 again (#8052) --- python/grass/temporal/stds_import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/grass/temporal/stds_import.py b/python/grass/temporal/stds_import.py index bcc70b3b200..e90eda8bf95 100644 --- a/python/grass/temporal/stds_import.py +++ b/python/grass/temporal/stds_import.py @@ -435,7 +435,7 @@ def import_stds( # that must be extended by the file suffix filename = line_list[0].strip().split(":")[0] if base: - mapname = f"{base}_{gs.get_num_suffix(line_count + 1, max_count)}" + mapname = f"{base}_{gs.get_num_suffix(line_count, max_count)}" mapid = f"{mapname}@{mapset}" else: mapname = filename From 84f61027e193e03bac107e821280c26482a66690 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 14 Oct 2026 11:17:09 +0000 Subject: [PATCH 10/10] wxGUI: Remove unused settings lookups in vnet and iscatt dialogs The sett variable read in the point and selection style layout loops was never used, so drop it together with the merged settings dict it was read from. --- gui/wxpython/iscatt/dialogs.py | 4 ---- gui/wxpython/vnet/dialogs.py | 2 -- 2 files changed, 6 deletions(-) diff --git a/gui/wxpython/iscatt/dialogs.py b/gui/wxpython/iscatt/dialogs.py index d3dc9b9ecc8..945ea083d83 100644 --- a/gui/wxpython/iscatt/dialogs.py +++ b/gui/wxpython/iscatt/dialogs.py @@ -423,7 +423,6 @@ def __init__( gridSizer = wx.GridBagSizer(vgap=1, hgap=1) row = 0 - current_settings = {**self.colorsSetts, **self.sizeSetts} settsOrder = [ "sel_pol", @@ -433,7 +432,6 @@ def __init__( "snap_tresh", ] for settKey in settsOrder: - sett = current_settings[settKey] gridSizer.Add( settsLabels[settKey], flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0) ) @@ -454,8 +452,6 @@ def __init__( ellPolBoxSizer = wx.StaticBoxSizer(ell_box, wx.VERTICAL) gridSizer = wx.GridBagSizer(vgap=1, hgap=1) - sett = current_settings[settKey] - row = 0 gridSizer.Add( self.settings["show_ellips"], flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0) diff --git a/gui/wxpython/vnet/dialogs.py b/gui/wxpython/vnet/dialogs.py index f3bd57338f6..f4588e0b096 100644 --- a/gui/wxpython/vnet/dialogs.py +++ b/gui/wxpython/vnet/dialogs.py @@ -1381,7 +1381,6 @@ def __init__( gridSizer = wx.GridBagSizer(vgap=1, hgap=1) row = 0 - current_settings = {**self.colorsSetts, **self.sizeSetts} settsOrder = [ "selected", @@ -1392,7 +1391,6 @@ def __init__( "point_width", ] for settKey in settsOrder: - sett = current_settings[settKey] gridSizer.Add( settsLabels[settKey], flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0) )