diff --git a/locale/templates/grasslibs.pot b/locale/templates/grasslibs.pot index 2cc90889f78..5d352fd87e2 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-06-27 15:58+0000\n" +"POT-Creation-Date: 2026-08-22 15:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,15 +23,19 @@ msgstr "" msgid "Unknown algorithm '%s'" msgstr "" -#: ../lib/arraystats/class.c:51 +#: ../lib/arraystats/class.c:31 +msgid "Cannot classify an empty set of values" +msgstr "" + +#: ../lib/arraystats/class.c:54 msgid "Classification algorithm failed" msgstr "" -#: ../lib/arraystats/class.c:234 +#: ../lib/arraystats/class.c:237 msgid "Equiprobable classbreaks currently limited to 10 classes" msgstr "" -#: ../lib/arraystats/class.c:251 +#: ../lib/arraystats/class.c:254 #, c-format msgid "There are classbreaks outside the range min-max. Number of classes reduced to %i, but using probabilities for %i classes." msgstr "" @@ -72,7 +76,7 @@ msgstr "" msgid "Failed to initialize Cairo surface (width: %d, height: %d): %s" msgstr "" -#: ../lib/cairodriver/graph.c:399 +#: ../lib/cairodriver/graph.c:400 #, c-format msgid "Unable to open file: %s" msgstr "" @@ -1389,7 +1393,7 @@ msgstr "" msgid "Your installation doesn't include GUI, exiting." msgstr "" -#: ../lib/gis/parser.c:650 ../lib/init/grass.py:146 +#: ../lib/gis/parser.c:650 ../lib/init/grass.py:142 msgid "ERROR" msgstr "" @@ -1669,12 +1673,12 @@ msgid "SYNOPSIS" msgstr "" #: ../lib/gis/parser_html.c:159 ../lib/gis/parser_rest.c:140 -#: ../lib/init/grass.py:302 +#: ../lib/init/grass.py:298 msgid "Flags" msgstr "" #: ../lib/gis/parser_html.c:207 ../lib/gis/parser_md.c:89 -#: ../lib/gis/parser_rest.c:173 ../lib/init/grass.py:322 +#: ../lib/gis/parser_rest.c:173 ../lib/init/grass.py:318 msgid "Parameters" msgstr "" @@ -3573,207 +3577,207 @@ msgstr "" msgid "Unable to read target file for group [%s]" msgstr "" -#: ../lib/init/grass.py:142 +#: ../lib/init/grass.py:138 msgid "WARNING" msgstr "" -#: ../lib/init/grass.py:147 ../lib/init/grass.py:2440 +#: ../lib/init/grass.py:143 ../lib/init/grass.py:2432 msgid "Exiting..." msgstr "" -#: ../lib/init/grass.py:301 +#: ../lib/init/grass.py:297 msgid "Usage" msgstr "" -#: ../lib/init/grass.py:303 +#: ../lib/init/grass.py:299 msgid "print this help message" msgstr "" -#: ../lib/init/grass.py:304 +#: ../lib/init/grass.py:300 msgid "show version information and exit" msgstr "" -#: ../lib/init/grass.py:305 +#: ../lib/init/grass.py:301 msgid "create given database, project or mapset if it doesn't exist" msgstr "" -#: ../lib/init/grass.py:306 +#: ../lib/init/grass.py:302 msgid "exit after creation of project or mapset. Only with -c flag" msgstr "" -#: ../lib/init/grass.py:308 +#: ../lib/init/grass.py:304 msgid "force removal of .gislock if exists (use with care!). Only with --text flag" msgstr "" -#: ../lib/init/grass.py:311 +#: ../lib/init/grass.py:307 msgid "use text based interface (skip graphical welcome screen)" msgstr "" -#: ../lib/init/grass.py:312 ../lib/init/grass.py:314 ../lib/init/grass.py:316 +#: ../lib/init/grass.py:308 ../lib/init/grass.py:310 ../lib/init/grass.py:312 msgid "and set as default" msgstr "" -#: ../lib/init/grass.py:313 +#: ../lib/init/grass.py:309 msgid "use text based interface (show graphical welcome screen)" msgstr "" -#: ../lib/init/grass.py:315 +#: ../lib/init/grass.py:311 msgid "use $DEFAULT_GUI graphical user interface" msgstr "" -#: ../lib/init/grass.py:317 +#: ../lib/init/grass.py:313 msgid "print GRASS configuration parameters" msgstr "" -#: ../lib/init/grass.py:319 +#: ../lib/init/grass.py:315 msgid "options: arch,build,compiler,date,path,python_path,revision,svn_revision,version" msgstr "" -#: ../lib/init/grass.py:323 +#: ../lib/init/grass.py:319 msgid "initial GRASS database directory" msgstr "" -#: ../lib/init/grass.py:324 +#: ../lib/init/grass.py:320 msgid "directory containing GRASS projects" msgstr "" -#: ../lib/init/grass.py:325 +#: ../lib/init/grass.py:321 msgid "initial GRASS project (location)" msgstr "" -#: ../lib/init/grass.py:327 +#: ../lib/init/grass.py:323 msgid "directory containing mapsets with one common coordinate reference system" msgstr "" -#: ../lib/init/grass.py:330 +#: ../lib/init/grass.py:326 msgid "initial GRASS mapset" msgstr "" -#: ../lib/init/grass.py:331 +#: ../lib/init/grass.py:327 msgid "fully qualified initial mapset directory" msgstr "" -#: ../lib/init/grass.py:332 +#: ../lib/init/grass.py:328 msgid "Environment variables relevant for startup" msgstr "" -#: ../lib/init/grass.py:333 +#: ../lib/init/grass.py:329 msgid "set root path for configuration directory" msgstr "" -#: ../lib/init/grass.py:334 +#: ../lib/init/grass.py:330 msgid "select GUI (text, gui, gtext)" msgstr "" -#: ../lib/init/grass.py:335 +#: ../lib/init/grass.py:331 msgid "set html web browser for help pages" msgstr "" -#: ../lib/init/grass.py:337 +#: ../lib/init/grass.py:333 msgid "set additional path(s) to local GRASS modules or user scripts" msgstr "" -#: ../lib/init/grass.py:340 +#: ../lib/init/grass.py:336 msgid "set additional GISBASE for locally installed GRASS Addons" msgstr "" -#: ../lib/init/grass.py:342 +#: ../lib/init/grass.py:338 msgid "set Python interpreter name to override 'python'" msgstr "" -#: ../lib/init/grass.py:343 +#: ../lib/init/grass.py:339 msgid "execute GRASS module or script" msgstr "" -#: ../lib/init/grass.py:344 +#: ../lib/init/grass.py:340 msgid "provided executable will be executed in GRASS session" msgstr "" -#: ../lib/init/grass.py:345 +#: ../lib/init/grass.py:341 msgid "GRASS module, script or any other executable" msgstr "" -#: ../lib/init/grass.py:346 +#: ../lib/init/grass.py:342 msgid "parameters of the executable" msgstr "" -#: ../lib/init/grass.py:347 +#: ../lib/init/grass.py:343 msgid "standard flags" msgstr "" -#: ../lib/init/grass.py:348 ../lib/init/grass.py:1922 +#: ../lib/init/grass.py:344 ../lib/init/grass.py:1914 msgid "deprecated, use --tmp-project instead" msgstr "" -#: ../lib/init/grass.py:349 +#: ../lib/init/grass.py:345 msgid "location was renamed to project" msgstr "" -#: ../lib/init/grass.py:350 +#: ../lib/init/grass.py:346 msgid "create temporary project (use with the --exec flag)" msgstr "" -#: ../lib/init/grass.py:352 +#: ../lib/init/grass.py:348 msgid "created in a temporary directory and deleted at exit" msgstr "" -#: ../lib/init/grass.py:354 +#: ../lib/init/grass.py:350 msgid "create temporary mapset (use with the --exec flag)" msgstr "" -#: ../lib/init/grass.py:355 +#: ../lib/init/grass.py:351 msgid "created in the specified project and deleted at exit" msgstr "" -#: ../lib/init/grass.py:356 +#: ../lib/init/grass.py:352 msgid "timeout for acquiring a mapset lock" msgstr "" -#: ../lib/init/grass.py:358 +#: ../lib/init/grass.py:354 msgid "time for which the process will attempt to get a lock in seconds" msgstr "" -#: ../lib/init/grass.py:392 +#: ../lib/init/grass.py:388 msgid "Failed to create configuration directory '{}' with error: {}" msgstr "" -#: ../lib/init/grass.py:447 +#: ../lib/init/grass.py:443 #, python-brace-format msgid "Unable to create temporary directory <{tmpdir_name}>! Exiting." msgstr "" -#: ../lib/init/grass.py:505 +#: ../lib/init/grass.py:501 #, python-brace-format msgid "Invalid line in RC file ({file}): '{line}' ({error})\n" msgstr "" -#: ../lib/init/grass.py:511 +#: ../lib/init/grass.py:507 #, python-brace-format msgid "Empty RC file ({file})" msgstr "" -#: ../lib/init/grass.py:598 +#: ../lib/init/grass.py:594 #, python-format msgid "GUI <%s> not supported in this version" msgstr "" -#: ../lib/init/grass.py:634 +#: ../lib/init/grass.py:630 msgid "" "The python command does not work as expected.\n" "Please check your installation or set the GRASS_PYTHON environment variable." msgstr "" -#: ../lib/init/grass.py:639 +#: ../lib/init/grass.py:635 msgid "GRASS GUI not found. Please check your installation." msgstr "" -#: ../lib/init/grass.py:641 +#: ../lib/init/grass.py:637 msgid "" "{}\n" "Switching to text based interface mode." msgstr "" -#: ../lib/init/grass.py:648 +#: ../lib/init/grass.py:644 msgid "" "It appears that the X Windows system is not active.\n" "A graphical based user interface is not supported.\n" @@ -3781,77 +3785,77 @@ msgid "" "Switching to text based interface mode." msgstr "" -#: ../lib/init/grass.py:681 +#: ../lib/init/grass.py:677 msgid "Error creating project: {}" msgstr "" -#: ../lib/init/grass.py:708 +#: ../lib/init/grass.py:704 #, python-brace-format msgid "Unable to create new project because the project <{location}> already exists." msgstr "" -#: ../lib/init/grass.py:714 +#: ../lib/init/grass.py:710 #, python-brace-format msgid "Unable to create new project <{location}> because <{path}> is a file." msgstr "" -#: ../lib/init/grass.py:718 +#: ../lib/init/grass.py:714 #, python-brace-format msgid "Unable to create new project <{location}> because the directory <{path}> already exists." msgstr "" -#: ../lib/init/grass.py:723 +#: ../lib/init/grass.py:719 #, python-brace-format msgid "Unable to create new project in the directory <{path}> for an unknown reason." msgstr "" -#: ../lib/init/grass.py:805 +#: ../lib/init/grass.py:801 msgid "Mapset <{}> already exists. Unable to create a new temporary mapset of that name." msgstr "" -#: ../lib/init/grass.py:810 +#: ../lib/init/grass.py:806 msgid "Mapset <{}> already exists." msgstr "" -#: ../lib/init/grass.py:818 +#: ../lib/init/grass.py:814 msgid "A new mapset can be created using '-c' flag." msgstr "" -#: ../lib/init/grass.py:820 +#: ../lib/init/grass.py:816 msgid "Maybe you meant a different directory." msgstr "" -#: ../lib/init/grass.py:848 +#: ../lib/init/grass.py:844 msgid "Provide CRS to create a project" msgstr "" -#: ../lib/init/grass.py:852 +#: ../lib/init/grass.py:848 msgid "Creating new GRASS project <{}>..." msgstr "" -#: ../lib/init/grass.py:863 +#: ../lib/init/grass.py:859 #, python-brace-format msgid "Unable to create new mapset <{mapset}> because <{path}> is a file." msgstr "" -#: ../lib/init/grass.py:872 +#: ../lib/init/grass.py:868 msgid "The mapset <{}> is missing the WIND file (computational region). It will be fixed now. Note that this warning may become an error in future versions." msgstr "" -#: ../lib/init/grass.py:882 +#: ../lib/init/grass.py:878 #, python-brace-format msgid "No CRS is needed for creating mapset <{mapset}>, but <{geofile}> was provided as CRS. Did you mean to create a new project?" msgstr "" -#: ../lib/init/grass.py:888 +#: ../lib/init/grass.py:884 msgid "Creating new GRASS mapset <{}>..." msgstr "" -#: ../lib/init/grass.py:912 +#: ../lib/init/grass.py:908 msgid "GRASS database directory, project and mapset not set properly. Use GUI or command line to set them." msgstr "" -#: ../lib/init/grass.py:972 +#: ../lib/init/grass.py:968 #, python-brace-format msgid "" "Error reading data path information from g.gisenv.\n" @@ -3862,168 +3866,168 @@ msgid "" "Check the <{file}> file." msgstr "" -#: ../lib/init/grass.py:1264 +#: ../lib/init/grass.py:1256 msgid "Building user fontcap..." msgstr "" -#: ../lib/init/grass.py:1330 +#: ../lib/init/grass.py:1322 msgid "The SHELL variable is not set" msgstr "" -#: ../lib/init/grass.py:1347 +#: ../lib/init/grass.py:1339 #, python-brace-format msgid "Unsupported shell <{sh}>: {env_file}" msgstr "" -#: ../lib/init/grass.py:1364 +#: ../lib/init/grass.py:1356 #, python-format msgid "Executing <%s> ..." msgstr "" -#: ../lib/init/grass.py:1388 +#: ../lib/init/grass.py:1380 #, python-brace-format msgid "" "Execution of <{cmd}> failed:\n" "{error}" msgstr "" -#: ../lib/init/grass.py:1401 +#: ../lib/init/grass.py:1393 #, python-format msgid "Execution of <%s> finished." msgstr "" -#: ../lib/init/grass.py:1443 +#: ../lib/init/grass.py:1435 #, python-brace-format msgid "Unable to close GUI. {0}" msgstr "" -#: ../lib/init/grass.py:1462 +#: ../lib/init/grass.py:1454 #, python-format msgid "Welcome to GRASS %s" msgstr "" -#: ../lib/init/grass.py:1488 +#: ../lib/init/grass.py:1480 msgid "GRASS homepage:" msgstr "" #. GTC Running through: SHELL NAME -#: ../lib/init/grass.py:1490 +#: ../lib/init/grass.py:1482 msgid "This version running through:" msgstr "" -#: ../lib/init/grass.py:1493 +#: ../lib/init/grass.py:1485 msgid "Help is available with the command:" msgstr "" -#: ../lib/init/grass.py:1494 +#: ../lib/init/grass.py:1486 msgid "See the licence terms with:" msgstr "" -#: ../lib/init/grass.py:1495 +#: ../lib/init/grass.py:1487 msgid "See citation options with:" msgstr "" -#: ../lib/init/grass.py:1500 +#: ../lib/init/grass.py:1492 msgid "If required, restart the GUI with:" msgstr "" -#: ../lib/init/grass.py:1502 +#: ../lib/init/grass.py:1494 msgid "Start the GUI with:" msgstr "" -#: ../lib/init/grass.py:1504 +#: ../lib/init/grass.py:1496 msgid "When ready to quit enter:" msgstr "" -#: ../lib/init/grass.py:1686 +#: ../lib/init/grass.py:1678 msgid "2D and 3D raster masks present" msgstr "" -#: ../lib/init/grass.py:1687 +#: ../lib/init/grass.py:1679 msgid "Raster mask present" msgstr "" -#: ../lib/init/grass.py:1688 +#: ../lib/init/grass.py:1680 msgid "3D raster mask present" msgstr "" -#: ../lib/init/grass.py:1733 +#: ../lib/init/grass.py:1725 msgid "Done." msgstr "" -#: ../lib/init/grass.py:1735 +#: ../lib/init/grass.py:1727 msgid "Goodbye from GRASS" msgstr "" -#: ../lib/init/grass.py:1796 +#: ../lib/init/grass.py:1788 msgid "Please install the GRASS development package" msgstr "" -#: ../lib/init/grass.py:1842 +#: ../lib/init/grass.py:1834 #, python-format msgid "Parameter <%s> not supported" msgstr "" -#: ../lib/init/grass.py:1891 +#: ../lib/init/grass.py:1883 #, python-format msgid "use mapset %(metavar)s" msgstr "" -#: ../lib/init/grass.py:1897 +#: ../lib/init/grass.py:1889 #, python-format msgid "use temporary mapset in project %(metavar)s" msgstr "" -#: ../lib/init/grass.py:1905 +#: ../lib/init/grass.py:1897 msgid "path to mapset (or project if creating one)" msgstr "" -#: ../lib/init/grass.py:1908 +#: ../lib/init/grass.py:1900 msgid "use temporary mapset" msgstr "" -#: ../lib/init/grass.py:1915 +#: ../lib/init/grass.py:1907 #, python-format msgid "use temporary project with %(metavar)s (EPSG, georeferenced file, ...)" msgstr "" -#: ../lib/init/grass.py:1929 +#: ../lib/init/grass.py:1921 msgid "mapset locking timeout in seconds" msgstr "" -#: ../lib/init/grass.py:1935 +#: ../lib/init/grass.py:1927 msgid "remove lock if present" msgstr "" -#: ../lib/init/grass.py:1949 +#: ../lib/init/grass.py:1941 msgid "Option --tmp-location is deprecated, use --tmp-project instead\n" msgstr "" -#: ../lib/init/grass.py:1994 +#: ../lib/init/grass.py:1986 msgid "execute module or script (followed by executable with arguments)" msgstr "" -#: ../lib/init/grass.py:2056 +#: ../lib/init/grass.py:2048 msgid "Flag -e requires also flag -c" msgstr "" -#: ../lib/init/grass.py:2058 +#: ../lib/init/grass.py:2050 msgid "Flag -c requires name of project or mapset" msgstr "" -#: ../lib/init/grass.py:2061 +#: ../lib/init/grass.py:2053 msgid "Either --tmp-project or --tmp-mapset can be used, not both" msgstr "" -#: ../lib/init/grass.py:2068 +#: ../lib/init/grass.py:2060 msgid "Coordinate reference system argument (e.g. EPSG) is needed for --tmp-project" msgstr "" -#: ../lib/init/grass.py:2075 +#: ../lib/init/grass.py:2067 msgid "Only one argument (e.g. EPSG) is needed for --tmp-project, mapset name <{}> provided" msgstr "" -#: ../lib/init/grass.py:2295 +#: ../lib/init/grass.py:2287 #, python-brace-format msgid "" "Unable to start GRASS. You have the choice to:\n" @@ -4040,24 +4044,24 @@ msgid "" "See also: https://grass.osgeo.org/{cmd_name}/manuals/helptext.html" msgstr "" -#: ../lib/init/grass.py:2316 +#: ../lib/init/grass.py:2308 msgid "Starting GRASS..." msgstr "" -#: ../lib/init/grass.py:2365 +#: ../lib/init/grass.py:2357 msgid "Failed to start GRASS, grassdata directory cannot be found or created." msgstr "" -#: ../lib/init/grass.py:2372 +#: ../lib/init/grass.py:2364 msgid "Failed to start GRASS, no default project to copy in the installation or copying failed." msgstr "" -#: ../lib/init/grass.py:2477 +#: ../lib/init/grass.py:2469 #, python-format msgid "Launching <%s> GUI in the background, please wait..." msgstr "" -#: ../lib/init/grass.py:2515 +#: ../lib/init/grass.py:2507 #, python-format msgid "Failed to start shell '%s'" msgstr "" @@ -4541,20 +4545,20 @@ msgstr "" msgid "Tried to pop an empty stack" msgstr "" -#: ../lib/pngdriver/graph_set.c:105 +#: ../lib/pngdriver/graph_set.c:106 msgid "png: truecolor status enabled" msgstr "" -#: ../lib/pngdriver/graph_set.c:106 +#: ../lib/pngdriver/graph_set.c:107 msgid "png: truecolor status disabled" msgstr "" -#: ../lib/pngdriver/graph_set.c:154 +#: ../lib/pngdriver/graph_set.c:155 #, c-format msgid "png: collecting to file '%s'" msgstr "" -#: ../lib/pngdriver/graph_set.c:155 +#: ../lib/pngdriver/graph_set.c:156 #, c-format msgid "png: image size %dx%d" msgstr "" diff --git a/locale/templates/grassmods.pot b/locale/templates/grassmods.pot index 400b2ca4ef8..b3017f0c6a6 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-06-27 15:58+0000\n" +"POT-Creation-Date: 2026-08-22 15:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -73,8 +73,8 @@ msgstr "" #: ../raster/r.volume/main.c:177 ../raster/r.what.color/main.c:246 #: ../raster/r.what/main.c:280 ../temporal/t.connect/main.c:181 #: ../vector/v.category/main.c:264 ../vector/v.category/main.c:333 -#: ../vector/v.class/main.c:223 ../vector/v.class/main.c:264 -#: ../vector/v.class/main.c:271 ../vector/v.db.connect/main.c:148 +#: ../vector/v.class/main.c:230 ../vector/v.class/main.c:271 +#: ../vector/v.class/main.c:278 ../vector/v.db.connect/main.c:148 #: ../vector/v.db.select/main.c:356 ../vector/v.db.select/main.c:391 #: ../vector/v.distance/main.c:310 ../vector/v.info/print.c:903 #: ../vector/v.profile/main.c:296 ../vector/v.vect.stats/main.c:284 @@ -93,7 +93,7 @@ msgstr "" #: ../raster/r.regression.multi/main.c:696 #: ../raster/r.stats.quantile/main.c:472 ../raster/r.volume/main.c:448 #: ../raster3d/r3.info/main.c:993 ../temporal/t.connect/main.c:217 -#: ../vector/v.class/main.c:379 ../vector/v.db.connect/main.c:430 +#: ../vector/v.class/main.c:389 ../vector/v.db.connect/main.c:430 #: ../vector/v.profile/main.c:885 ../vector/v.vect.stats/main.c:863 #: ../vector/v.what.rast/main.c:694 ../vector/v.what/main.c:321 msgid "Failed to serialize JSON to pretty format." @@ -348,7 +348,7 @@ msgstr "" #: ../raster/r.univar/stats.c:439 ../raster/r.volume/main.c:409 #: ../raster/r.what.color/main.c:52 ../raster3d/r3.info/main.c:153 #: ../temporal/t.connect/main.c:32 ../vector/v.category/main.c:942 -#: ../vector/v.class/main.c:257 ../vector/v.class/main.c:348 +#: ../vector/v.class/main.c:264 ../vector/v.class/main.c:358 #: ../vector/v.db.connect/main.c:302 ../vector/v.db.connect/main.c:395 #: ../vector/v.db.select/main.c:338 ../vector/v.db.select/main.c:349 #: ../vector/v.db.select/main.c:366 ../vector/v.distance/main.c:1578 @@ -2114,6 +2114,7 @@ msgstr "" #: ../locale/scriptstrings/v.db.univar_to_translate.c:2 #: ../locale/scriptstrings/v.db.update_to_translate.c:2 #: ../locale/scriptstrings/v.dissolve_to_translate.c:2 +#: ../locale/scriptstrings/v.geometry_to_translate.c:2 #: ../locale/scriptstrings/v.import_to_translate.c:2 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2 #: ../locale/scriptstrings/v.in.geonames_to_translate.c:2 @@ -4103,6 +4104,7 @@ msgstr "" msgid "Get text color from cell color value" msgstr "" +#. GTC Count of window rows #. GTC Count of raster rows #. GTC Count of window rows #: ../display/d.rast.num/main.c:211 ../raster/r.thin/io.c:110 @@ -4154,6 +4156,7 @@ msgstr "" #: ../locale/scriptstrings/t.list_to_translate.c:8 #: ../locale/scriptstrings/t.list_to_translate.c:14 #: ../locale/scriptstrings/t.list_to_translate.c:15 +#: ../locale/scriptstrings/t.list_to_translate.c:19 #: ../locale/scriptstrings/t.rast.list_to_translate.c:10 #: ../locale/scriptstrings/t.rast.list_to_translate.c:11 #: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:7 @@ -4830,12 +4833,12 @@ msgstr "" msgid "Classification of %s into %i classes\n" msgstr "" -#: ../display/d.vect.thematic/main.c:517 ../vector/v.class/main.c:297 +#: ../display/d.vect.thematic/main.c:517 ../vector/v.class/main.c:307 #, c-format msgid "Using algorithm: *** %s ***\n" msgstr "" -#: ../display/d.vect.thematic/main.c:518 ../vector/v.class/main.c:299 +#: ../display/d.vect.thematic/main.c:518 ../vector/v.class/main.c:309 #, c-format msgid "Mean: %f\tStandard deviation = %f\n" msgstr "" @@ -4845,7 +4848,7 @@ msgstr "" msgid "Last chi2 = %f\n" msgstr "" -#: ../display/d.vect.thematic/main.c:524 ../vector/v.class/main.c:306 +#: ../display/d.vect.thematic/main.c:524 ../vector/v.class/main.c:316 #, c-format msgid "Stdev multiplied by %.4f to define step\n" msgstr "" @@ -5362,8 +5365,7 @@ msgstr "" #: ../scripts/r.buffer.lowmem/r.buffer.lowmem.py:85 #: ../scripts/r.fillnulls/r.fillnulls.py:152 ../scripts/r.grow/r.grow.py:124 #: ../scripts/r.mask/r.mask.py:151 ../scripts/r.pack/r.pack.py:74 -#: ../scripts/r.reclass.area/r.reclass.area.py:101 -#: ../scripts/r.reclass.area/r.reclass.area.py:222 ../scripts/r.rgb/r.rgb.py:55 +#: ../scripts/r.reclass.area/r.reclass.area.py:345 ../scripts/r.rgb/r.rgb.py:55 #: ../scripts/v.rast.stats/v.rast.stats.py:154 ../vector/v.colors/main.c:317 #: ../vector/v.vol.rst/main.c:604 #, c-format, python-format @@ -10550,6 +10552,7 @@ msgstr "" #: ../imagery/i.ortho.photo/i.ortho.photo/menu.c:47 #: ../imagery/i.rectify/main.c:85 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3 +#: ../locale/scriptstrings/v.geometry_to_translate.c:3 #: ../locale/scriptstrings/v.report_to_translate.c:3 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3 #: ../raster/r.circle/main.c:51 ../raster/r.patch/main.c:69 @@ -14533,30 +14536,52 @@ msgid "aggregation" msgstr "" #: ../locale/scriptstrings/r.reclass.area_to_translate.c:5 -msgid "Value option that sets the area size limit (in hectares)" +msgid "Value option that sets the area size limit (in hectares) (deprecated)" msgstr "" #: ../locale/scriptstrings/r.reclass.area_to_translate.c:6 #: ../locale/scriptstrings/r.reclass.area_to_translate.c:8 #: ../locale/scriptstrings/r.reclass.area_to_translate.c:10 +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:12 +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:14 #: ../locale/scriptstrings/v.to.lines_to_translate.c:8 msgid "Area" msgstr "" #: ../locale/scriptstrings/r.reclass.area_to_translate.c:7 -msgid "Lesser or greater than specified value" +msgid "Keep only areas lesser or greater than specified value (deprecated)" msgstr "" #: ../locale/scriptstrings/r.reclass.area_to_translate.c:9 -msgid "Method used for reclassification" +msgid "Value for the lower area size limit (in hectares). Pixel clumps with areas below this value are removed." msgstr "" #: ../locale/scriptstrings/r.reclass.area_to_translate.c:11 +msgid "Value for the upper area size limit (in hectares). Pixel clumps with areas above this value are removed." +msgstr "" + +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:13 +msgid "Method used for area size filtering" +msgstr "" + +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:15 msgid "Input map is clumped" msgstr "" -#: ../locale/scriptstrings/r.reclass.area_to_translate.c:12 -msgid "Clumps including diagonal neighbors" +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:16 +msgid "Generate clumps including diagonal neighbors" +msgstr "" + +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:17 +msgid "Invert filter (remove clumps larger than lower and smaller than upper)" +msgstr "" + +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:18 +msgid "Apply lower area threshold as \"minsize\" during clumping" +msgstr "" + +#: ../locale/scriptstrings/r.reclass.area_to_translate.c:19 +msgid "Output vector map, do not convert back to raster (only for method 'rmarea')" msgstr "" #: ../locale/scriptstrings/r.rgb_to_translate.c:1 @@ -15090,8 +15115,8 @@ msgstr "" #: ../locale/scriptstrings/t.list_to_translate.c:11 #: ../locale/scriptstrings/t.list_to_translate.c:17 -#: ../locale/scriptstrings/t.list_to_translate.c:19 #: ../locale/scriptstrings/t.list_to_translate.c:21 +#: ../locale/scriptstrings/t.list_to_translate.c:23 #: ../locale/scriptstrings/t.rast.list_to_translate.c:8 #: ../locale/scriptstrings/t.rast.list_to_translate.c:15 #: ../locale/scriptstrings/t.rast.list_to_translate.c:17 @@ -15142,6 +15167,10 @@ msgid "plain;Plain text output;line;Comma separated list of dataset names;json;J msgstr "" #: ../locale/scriptstrings/t.list_to_translate.c:18 +msgid "Name of mapsets to list ('.' for current, '*' for all mapsets)" +msgstr "" + +#: ../locale/scriptstrings/t.list_to_translate.c:20 #: ../locale/scriptstrings/t.rast.list_to_translate.c:16 #: ../locale/scriptstrings/t.rast.univar_to_translate.c:12 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:15 @@ -15152,7 +15181,7 @@ msgstr "" msgid "Field separator character between the output columns" msgstr "" -#: ../locale/scriptstrings/t.list_to_translate.c:20 +#: ../locale/scriptstrings/t.list_to_translate.c:22 #: ../locale/scriptstrings/t.sample_to_translate.c:11 msgid "Print the column names as first row" msgstr "" @@ -15872,6 +15901,7 @@ msgstr "" #: ../locale/scriptstrings/t.rast.univar_to_translate.c:6 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:7 +#: ../locale/scriptstrings/v.geometry_to_translate.c:5 #: ../raster/r.horizon/main.c:182 ../raster/r.mfilter/main.c:69 #: ../raster/r.neighbors/main.c:188 ../raster/r.patch/main.c:75 #: ../raster/r.resamp.filter/main.c:437 ../raster/r.resamp.interp/main.c:92 @@ -16640,6 +16670,30 @@ msgstr "" msgid "sql;Uses SQL attribute database;univar;Uses v.db.univar" msgstr "" +#: ../locale/scriptstrings/v.geometry_to_translate.c:1 +msgid "Prints geometry metrics of vector features." +msgstr "" + +#: ../locale/scriptstrings/v.geometry_to_translate.c:4 +msgid "metric" +msgstr "" + +#: ../locale/scriptstrings/v.geometry_to_translate.c:6 +msgid "Geometry metric(s) to compute" +msgstr "" + +#: ../locale/scriptstrings/v.geometry_to_translate.c:7 +msgid "area;area size;perimeter;perimeter length of an area;length;line length;count;number of features for each category;compactness;compactness of an area, calculated as perimeter / (2 * sqrt(PI * area));fractal_dimension;fractal dimension of boundary defining a polygon, calculated as 2 * (log(perimeter) / log(area));slope;slope steepness of vector line or boundary;sinuosity;line sinuosity, calculated as line length / distance between end points;azimuth;line azimuth, calculated as angle between North direction and endnode direction at startnode;coordinates;point coordinates, X,Y or X,Y,Z;start;line/boundary starting point coordinates, X,Y or X,Y,Z;end;line/boundary end point coordinates, X,Y or X,Y,Z;bbox;bounding box of area, N,S,E,W" +msgstr "" + +#: ../locale/scriptstrings/v.geometry_to_translate.c:8 +msgid "Units (one per metric, positional; unspecified metrics use defaults)" +msgstr "" + +#: ../locale/scriptstrings/v.geometry_to_translate.c:9 +msgid "plain;Plain text with pipe separator by default;csv;CSV (Comma Separated Values);json;JSON (JavaScript Object Notation)" +msgstr "" + #: ../locale/scriptstrings/v.import_to_translate.c:1 msgid "Imports vector data into a GRASS vector map using OGR library and reprojects on the fly." msgstr "" @@ -29917,6 +29971,7 @@ msgstr "" msgid "Input raster must be of type CELL." msgstr "" +#. GTC Count of window columns #. GTC Count of raster columns #. GTC Count of window columns #: ../raster/r.thin/io.c:112 ../raster/r.thin/io.c:188 @@ -32937,7 +32992,7 @@ msgid "write_vtk_data: Writing Celldata %s with rows %i cols %i depths %i to vtk msgstr "" #: ../raster3d/r3.out.vtk/writeVTKData.c:453 -msgid "Wrong 3D raster map values! Values should in between 0 and 255!" +msgid "Wrong 3D raster map values! Values should be in between 0 and 255!" msgstr "" #: ../raster3d/r3.retile/main.c:51 @@ -33445,7 +33500,7 @@ msgid "Branch <{branch}> not found in repository <{url}>" msgstr "" #: ../scripts/g.extension/g.extension.py:387 -#: ../scripts/g.extension/g.extension.py:2868 +#: ../scripts/g.extension/g.extension.py:2861 #, python-brace-format msgid "" "Failed to get addons files list from the Git repository <{repo_path}>.\n" @@ -33621,167 +33676,167 @@ msgstr "" msgid "ZIP file is unreadable: {0}" msgstr "" -#: ../scripts/g.extension/g.extension.py:1849 -#: ../scripts/r.unpack/r.unpack.py:119 ../scripts/v.unpack/v.unpack.py:131 -msgid "Extracting may be unsafe; consider updating Python" +#: ../scripts/g.extension/g.extension.py:1842 +#: ../scripts/r.unpack/r.unpack.py:113 ../scripts/v.unpack/v.unpack.py:125 +msgid "Extracting may be unsafe; upgrade Python to 3.11.4 or newer" msgstr "" -#: ../scripts/g.extension/g.extension.py:1855 +#: ../scripts/g.extension/g.extension.py:1848 #, python-brace-format msgid "Archive file is unreadable: {0}" msgstr "" -#: ../scripts/g.extension/g.extension.py:1872 +#: ../scripts/g.extension/g.extension.py:1865 #, python-brace-format msgid "Type of source identified as '{source}'." msgstr "" -#: ../scripts/g.extension/g.extension.py:1875 +#: ../scripts/g.extension/g.extension.py:1868 +#: ../scripts/g.extension/g.extension.py:1877 #: ../scripts/g.extension/g.extension.py:1884 -#: ../scripts/g.extension/g.extension.py:1891 #, python-brace-format msgid "Fetching <{name}> from <{url}> (be patient)..." msgstr "" -#: ../scripts/g.extension/g.extension.py:1906 +#: ../scripts/g.extension/g.extension.py:1899 #, python-brace-format msgid "Expected default branch not found. Trying again from <{url}>..." msgstr "" -#: ../scripts/g.extension/g.extension.py:1914 +#: ../scripts/g.extension/g.extension.py:1907 #, python-brace-format msgid "Extension <{name}> not found. Please check 'url' and 'branch' options" msgstr "" -#: ../scripts/g.extension/g.extension.py:1919 +#: ../scripts/g.extension/g.extension.py:1912 msgid "Extension <{}> not found" msgstr "" -#: ../scripts/g.extension/g.extension.py:1947 +#: ../scripts/g.extension/g.extension.py:1940 #, python-brace-format msgid "Unknown extension (addon) source type '{0}'. Please report this to the grass-user mailing list." msgstr "" -#: ../scripts/g.extension/g.extension.py:1976 +#: ../scripts/g.extension/g.extension.py:1969 msgid "Path to the source code:" msgstr "" -#: ../scripts/g.extension/g.extension.py:1998 +#: ../scripts/g.extension/g.extension.py:1991 msgid "Module name not found. Check module Makefile syntax (PGM variable)." msgstr "" -#: ../scripts/g.extension/g.extension.py:2150 +#: ../scripts/g.extension/g.extension.py:2143 msgid "To compile run:" msgstr "" -#: ../scripts/g.extension/g.extension.py:2152 +#: ../scripts/g.extension/g.extension.py:2145 msgid "To install run:" msgstr "" -#: ../scripts/g.extension/g.extension.py:2160 +#: ../scripts/g.extension/g.extension.py:2153 msgid "Compiling..." msgstr "" -#: ../scripts/g.extension/g.extension.py:2162 +#: ../scripts/g.extension/g.extension.py:2155 msgid "Please install GRASS development package" msgstr "" -#: ../scripts/g.extension/g.extension.py:2165 -#: ../scripts/g.extension/g.extension.py:2168 +#: ../scripts/g.extension/g.extension.py:2158 +#: ../scripts/g.extension/g.extension.py:2161 msgid "Compilation failed, sorry. Please check above error messages." msgstr "" -#: ../scripts/g.extension/g.extension.py:2182 +#: ../scripts/g.extension/g.extension.py:2175 msgid "Installing..." msgstr "" -#: ../scripts/g.extension/g.extension.py:2273 +#: ../scripts/g.extension/g.extension.py:2266 msgid "List of removed files:" msgstr "" -#: ../scripts/g.extension/g.extension.py:2275 +#: ../scripts/g.extension/g.extension.py:2268 msgid "Files to be removed:" msgstr "" -#: ../scripts/g.extension/g.extension.py:2281 +#: ../scripts/g.extension/g.extension.py:2274 msgid "Updating addons metadata file..." msgstr "" -#: ../scripts/g.extension/g.extension.py:2285 +#: ../scripts/g.extension/g.extension.py:2278 #, python-format msgid "Extension <%s> successfully uninstalled." msgstr "" -#: ../scripts/g.extension/g.extension.py:2288 +#: ../scripts/g.extension/g.extension.py:2281 #, python-format msgid "Toolbox <%s> not removed. Re-run '%s' with '-f' flag to force removal" msgstr "" -#: ../scripts/g.extension/g.extension.py:2293 +#: ../scripts/g.extension/g.extension.py:2286 #, python-format msgid "Extension <%s> not removed. Re-run '%s' with '-f' flag to force removal" msgstr "" -#: ../scripts/g.extension/g.extension.py:2342 +#: ../scripts/g.extension/g.extension.py:2335 #, python-format msgid "Extension <%s> not found" msgstr "" -#: ../scripts/g.extension/g.extension.py:2446 +#: ../scripts/g.extension/g.extension.py:2439 #, python-brace-format msgid "Unable to create '{filename}': {error}. Is the GRASS documentation package installed? Installation continues, but documentation may not look right." msgstr "" -#: ../scripts/g.extension/g.extension.py:2465 +#: ../scripts/g.extension/g.extension.py:2458 #, python-format msgid "Unable to create '%s': %s" msgstr "" -#: ../scripts/g.extension/g.extension.py:2493 +#: ../scripts/g.extension/g.extension.py:2486 #, python-format msgid "Manual page for <%s> updated" msgstr "" -#: ../scripts/g.extension/g.extension.py:2500 +#: ../scripts/g.extension/g.extension.py:2493 #, python-format msgid "Unable to read manual page: %s" msgstr "" -#: ../scripts/g.extension/g.extension.py:2545 +#: ../scripts/g.extension/g.extension.py:2538 #, python-format msgid "Unable for write manual page: %s" msgstr "" -#: ../scripts/g.extension/g.extension.py:2565 +#: ../scripts/g.extension/g.extension.py:2558 msgid "GRASS_ADDON_BASE is not defined, installing to {}" msgstr "" -#: ../scripts/g.extension/g.extension.py:2572 +#: ../scripts/g.extension/g.extension.py:2565 #, python-brace-format msgid "You don't have permission to install extension to <{0}>. Try to run {1} with administrator rights (su or sudo)." msgstr "" -#: ../scripts/g.extension/g.extension.py:2664 +#: ../scripts/g.extension/g.extension.py:2657 #, python-brace-format msgid "Identified {0} as known hosting service" msgstr "" -#: ../scripts/g.extension/g.extension.py:2669 +#: ../scripts/g.extension/g.extension.py:2662 #, python-brace-format msgid "Not using {service} as known hosting service because the URL ends with '{suffix}'" msgstr "" -#: ../scripts/g.extension/g.extension.py:2686 +#: ../scripts/g.extension/g.extension.py:2679 #, python-brace-format msgid "Will use the following URL for download: {0}" msgstr "" -#: ../scripts/g.extension/g.extension.py:2717 +#: ../scripts/g.extension/g.extension.py:2710 #, python-brace-format msgid "Cannot open URL <{url}>: {error}" msgstr "" -#: ../scripts/g.extension/g.extension.py:2923 +#: ../scripts/g.extension/g.extension.py:2916 msgid "Flag '{}' is relevant only to 'operation=add'. Ignoring this flag." msgstr "" @@ -34877,63 +34932,58 @@ msgstr "" msgid "azimuth must be between 0 and 360" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:97 -#: ../scripts/r.reclass.area/r.reclass.area.py:214 -msgid "xy-locations are not supported" -msgstr "" - -#: ../scripts/r.reclass.area/r.reclass.area.py:98 -msgid "Need projected data with grids in meters" +#: ../scripts/r.reclass.area/r.reclass.area.py:151 +msgid "" +"xy-locations are not supported\n" +"Need projected data with grids in meters" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:104 -msgid "flags c and d are mutually exclusive" +#: ../scripts/r.reclass.area/r.reclass.area.py:157 +msgid "Latitude-longitude locations are not supported" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:114 -#, python-format -msgid "Temporary raster map <%s> exists" +#: ../scripts/r.reclass.area/r.reclass.area.py:159 +msgid "xy-locations are not supported" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:117 -msgid "Generating a clumped raster file including diagonal neighbors..." +#: ../scripts/r.reclass.area/r.reclass.area.py:177 +msgid "Generating a clumped raster file" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:121 -msgid "Generating a clumped raster file ..." +#: ../scripts/r.reclass.area/r.reclass.area.py:179 +msgid " including diagonal neighbors" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:127 +#: ../scripts/r.reclass.area/r.reclass.area.py:181 #, python-format -msgid "Generating a reclass map with area size less than or equal to %f hectares..." +msgid " with minimum %s pixels" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:135 -#, python-format -msgid "Generating a reclass map with area size greater than or equal to %f hectares..." +#: ../scripts/r.reclass.area/r.reclass.area.py:204 +msgid "Generating a reclass map with area size" msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:166 +#: ../scripts/r.reclass.area/r.reclass.area.py:209 #, python-format -msgid "No areas of size less than or equal to %f hectares found." +msgid " larger than or equal to %f hectares..." msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:170 +#: ../scripts/r.reclass.area/r.reclass.area.py:217 #, python-format -msgid "No areas of size greater than or equal to %f hectares found." +msgid " smaller than or equal to %f hectares..." msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:212 -msgid "Latitude-longitude locations are not supported" +#: ../scripts/r.reclass.area/r.reclass.area.py:257 +msgid "No areas of size " msgstr "" -#: ../scripts/r.reclass.area/r.reclass.area.py:219 -msgid "You have to specify mode='lesser' with method='rmarea'" +#: ../scripts/r.reclass.area/r.reclass.area.py:275 +#, 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:229 -#, python-format -msgid "Generating output raster map <%s>..." +#: ../scripts/r.reclass.area/r.reclass.area.py:354 +msgid "Options and are deprecated. Use 'lower' and/or 'upper'." msgstr "" #: ../scripts/r.semantic.label/r.semantic.label.py:67 @@ -35005,8 +35055,8 @@ msgstr "" msgid "File {name} not found." msgstr "" -#: ../scripts/r.unpack/r.unpack.py:81 ../scripts/r.unpack/r.unpack.py:135 -#: ../scripts/v.unpack/v.unpack.py:82 ../scripts/v.unpack/v.unpack.py:142 +#: ../scripts/r.unpack/r.unpack.py:81 ../scripts/r.unpack/r.unpack.py:129 +#: ../scripts/v.unpack/v.unpack.py:82 ../scripts/v.unpack/v.unpack.py:136 msgid "Pack file unreadable" msgstr "" @@ -35024,38 +35074,38 @@ msgstr "" msgid "Raster map <{name}> already exists and will be overwritten" msgstr "" -#: ../scripts/r.unpack/r.unpack.py:129 +#: ../scripts/r.unpack/r.unpack.py:123 #, python-brace-format msgid "This GRASS pack file contains vector data. Use v.unpack to unpack <{name}>" msgstr "" -#: ../scripts/r.unpack/r.unpack.py:140 +#: ../scripts/r.unpack/r.unpack.py:134 msgid "Overriding projection check (using current project's CRS)." msgstr "" -#: ../scripts/r.unpack/r.unpack.py:153 +#: ../scripts/r.unpack/r.unpack.py:147 msgid "PROJ_INFO file is missing, unpack raster map in XY (unprojected) project." msgstr "" -#: ../scripts/r.unpack/r.unpack.py:177 ../scripts/v.unpack/v.unpack.py:184 +#: ../scripts/r.unpack/r.unpack.py:171 ../scripts/v.unpack/v.unpack.py:178 #, python-brace-format msgid "" "Difference between PROJ_INFO file of packed map and of current project:\n" "{diff}" msgstr "" -#: ../scripts/r.unpack/r.unpack.py:184 ../scripts/v.unpack/v.unpack.py:191 +#: ../scripts/r.unpack/r.unpack.py:178 ../scripts/v.unpack/v.unpack.py:185 #, python-brace-format msgid "" "Difference between PROJ_UNITS file of packed map and of current project:\n" "{diff}" msgstr "" -#: ../scripts/r.unpack/r.unpack.py:190 ../scripts/v.unpack/v.unpack.py:197 +#: ../scripts/r.unpack/r.unpack.py:184 ../scripts/v.unpack/v.unpack.py:191 msgid "Coordinate reference system of dataset does not appear to match current project. In case of no significant differences in the CRS definitions, use the -o flag to ignore them and use current project definition." msgstr "" -#: ../scripts/r.unpack/r.unpack.py:244 +#: ../scripts/r.unpack/r.unpack.py:238 #, python-brace-format msgid "Raster map <{name}> unpacked" msgstr "" @@ -35487,6 +35537,18 @@ msgid "" "{error}" msgstr "" +#: ../scripts/v.geometry/v.geometry.py:171 +msgid "Cannot mix metrics from different feature types: {}. Results are merged by category, so combining e.g. line and area metrics would produce misleading records. Run v.geometry separately for each feature type." +msgstr "" + +#: ../scripts/v.geometry/v.geometry.py:187 +msgid "More units ({}) than metrics ({}) specified" +msgstr "" + +#: ../scripts/v.geometry/v.geometry.py:202 +msgid "A standard CSV separator (delimiter) is only one character long, got: {}" +msgstr "" + #: ../scripts/v.import/v.import.py:207 #, python-format msgid "Missing value for parameter <%s>" @@ -35798,40 +35860,40 @@ msgstr "" msgid "Vector map <%s> already exists and will be overwritten" msgstr "" -#: ../scripts/v.unpack/v.unpack.py:138 +#: ../scripts/v.unpack/v.unpack.py:132 #, python-format msgid "This GRASS pack file contains raster data. Use r.unpack to unpack <%s>" msgstr "" -#: ../scripts/v.unpack/v.unpack.py:153 +#: ../scripts/v.unpack/v.unpack.py:147 msgid "PROJ_INFO file is missing, unpack vector map in XY (unprojected) project." msgstr "" -#: ../scripts/v.unpack/v.unpack.py:179 +#: ../scripts/v.unpack/v.unpack.py:173 msgid "Projection information does not match. Proceeding..." msgstr "" -#: ../scripts/v.unpack/v.unpack.py:237 +#: ../scripts/v.unpack/v.unpack.py:231 #, python-format msgid "Coping table <%s> as table <%s>" msgstr "" -#: ../scripts/v.unpack/v.unpack.py:252 +#: ../scripts/v.unpack/v.unpack.py:246 #, python-format msgid "Unable to copy table <%s> as table <%s>" msgstr "" -#: ../scripts/v.unpack/v.unpack.py:257 +#: ../scripts/v.unpack/v.unpack.py:251 #, python-format msgid "Connect table <%s> to vector map <%s> at layer <%s>" msgstr "" -#: ../scripts/v.unpack/v.unpack.py:276 +#: ../scripts/v.unpack/v.unpack.py:270 #, python-format msgid "Unable to connect table <%s> to vector map <%s>" msgstr "" -#: ../scripts/v.unpack/v.unpack.py:280 +#: ../scripts/v.unpack/v.unpack.py:274 #, python-format msgid "Vector map <%s> successfully unpacked" msgstr "" @@ -36488,34 +36550,41 @@ msgstr "" msgid "The 'list' format can only be used with the -b flag. Please use -b to enable list output." msgstr "" -#: ../vector/v.class/main.c:181 +#: ../vector/v.class/main.c:178 ../vector/v.reclass/main.c:239 +#: ../vector/v.to.rast/support.c:118 ../vector/v.to.rast/support.c:287 +#: ../vector/v.to.rast/support.c:517 ../vector/v.to.rast/vect2rast.c:77 +#, c-format +msgid "No records selected from table <%s>" +msgstr "" + +#: ../vector/v.class/main.c:184 msgid "Unable to sort array of values" msgstr "" -#: ../vector/v.class/main.c:212 +#: ../vector/v.class/main.c:217 msgid "The discontinuities algorithm indicates that some class breaks are not statistically significant at alpha=0.05. You are advised to reduce the number of classes." msgstr "" -#: ../vector/v.class/main.c:295 +#: ../vector/v.class/main.c:305 #, c-format msgid "" "\n" "Classification of %s into %i classes\n" msgstr "" -#: ../vector/v.class/main.c:303 +#: ../vector/v.class/main.c:313 #, c-format msgid "Lowest chi2 = %f\n" msgstr "" -#: ../vector/v.class/main.c:309 +#: ../vector/v.class/main.c:319 #, c-format msgid "" "%15s%15s%15s\n" "\n" msgstr "" -#: ../vector/v.class/main.c:322 +#: ../vector/v.class/main.c:332 #, c-format msgid "" "\n" @@ -45043,13 +45112,6 @@ msgstr "" msgid "Database connection not defined for layer %s" msgstr "" -#: ../vector/v.reclass/main.c:239 ../vector/v.to.rast/support.c:118 -#: ../vector/v.to.rast/support.c:287 ../vector/v.to.rast/support.c:517 -#: ../vector/v.to.rast/vect2rast.c:77 -#, c-format -msgid "No records selected from table <%s>" -msgstr "" - #: ../vector/v.reclass/main.c:253 msgid "Key column type is not integer" msgstr "" diff --git a/locale/templates/grasswxpy.pot b/locale/templates/grasswxpy.pot index 66e6b850f3f..bb6a7a3eaed 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-06-27 15:58+0000\n" +"POT-Creation-Date: 2026-08-22 15:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -67,7 +67,7 @@ msgstr "" msgid "Exporting animation, please wait..." msgstr "" -#: ../gui/wxpython/animation/data.py:48 ../gui/wxpython/lmgr/layertree.py:1177 +#: ../gui/wxpython/animation/data.py:48 ../gui/wxpython/lmgr/layertree.py:1188 #: ../gui/wxpython/mapdisp/frame.py:313 ../gui/wxpython/mapdisp/frame.py:416 #: ../gui/wxpython/mapdisp/toolbars.py:95 #: ../gui/wxpython/mapdisp/toolbars.py:360 @@ -249,7 +249,7 @@ msgstr "" #: ../gui/wxpython/animation/dialogs.py:1247 #: ../gui/wxpython/animation/dialogs.py:1278 #: ../gui/wxpython/gui_core/forms.py:2400 -#: ../gui/wxpython/gui_core/forms.py:2511 +#: ../gui/wxpython/gui_core/forms.py:2507 #: ../gui/wxpython/gui_core/gselect.py:1249 #: ../gui/wxpython/gui_core/gselect.py:1565 #: ../gui/wxpython/gui_core/gselect.py:1582 @@ -260,7 +260,7 @@ msgstr "" #: ../gui/wxpython/modules/import_export.py:862 #: ../gui/wxpython/nviz/tools.py:675 ../gui/wxpython/psmap/dialogs.py:2749 #: ../gui/wxpython/psmap/dialogs.py:3055 ../gui/wxpython/psmap/dialogs.py:5796 -#: ../gui/wxpython/tplot/frame.py:375 +#: ../gui/wxpython/tplot/frame.py:376 msgid "Browse" msgstr "" @@ -334,7 +334,7 @@ msgstr "" #: ../gui/wxpython/animation/dialogs.py:1032 #: ../gui/wxpython/gmodeler/canvas.py:322 #: ../gui/wxpython/gui_core/simplelmgr.py:515 -#: ../gui/wxpython/lmgr/layertree.py:450 ../gui/wxpython/rlisetup/frame.py:157 +#: ../gui/wxpython/lmgr/layertree.py:457 ../gui/wxpython/rlisetup/frame.py:153 msgid "Remove" msgstr "" @@ -353,7 +353,7 @@ msgid "Decorations" msgstr "" #: ../gui/wxpython/animation/dialogs.py:957 -#: ../gui/wxpython/lmgr/layertree.py:771 ../gui/wxpython/tplot/frame.py:395 +#: ../gui/wxpython/lmgr/layertree.py:778 ../gui/wxpython/tplot/frame.py:396 msgid "Export" msgstr "" @@ -554,7 +554,7 @@ msgstr "" #: ../gui/wxpython/animation/dialogs.py:1574 #: ../gui/wxpython/datacatalog/tree.py:161 ../gui/wxpython/gcp/manager.py:1737 #: ../gui/wxpython/gui_core/dialogs.py:531 -#: ../gui/wxpython/lmgr/layertree.py:1086 +#: ../gui/wxpython/lmgr/layertree.py:1093 #: ../gui/wxpython/modules/colorrules.py:675 #: ../gui/wxpython/rdigit/dialogs.py:114 msgid "Overwrite?" @@ -624,7 +624,7 @@ msgid "Text background color:" msgstr "" #: ../gui/wxpython/animation/dialogs.py:1978 -#: ../gui/wxpython/timeline/frame.py:310 +#: ../gui/wxpython/timeline/frame.py:311 msgid "Time" msgstr "" @@ -741,7 +741,7 @@ msgstr "" #: ../gui/wxpython/animation/temporal_manager.py:249 #: ../gui/wxpython/animation/utils.py:71 ../gui/wxpython/animation/utils.py:79 -#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:1158 +#: ../gui/wxpython/timeline/frame.py:498 ../gui/wxpython/tplot/frame.py:1159 #, python-format msgid "Space time dataset <%s> not found." msgstr "" @@ -793,7 +793,7 @@ msgid "Add space-time dataset or series of map layers for animation" msgstr "" #: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:105 -#: ../gui/wxpython/lmgr/layertree.py:2145 ../gui/wxpython/mapswipe/frame.py:459 +#: ../gui/wxpython/lmgr/layertree.py:2147 ../gui/wxpython/mapswipe/frame.py:459 #, python-format msgid "Map <%s> not found." msgstr "" @@ -842,13 +842,18 @@ msgstr "" #: ../gui/wxpython/image2target/ii2t_gis_set.py:325 #: ../gui/wxpython/image2target/ii2t_gis_set.py:733 #: ../gui/wxpython/image2target/ii2t_gis_set.py:782 -#: ../gui/wxpython/lmgr/layertree.py:1004 +#: ../gui/wxpython/jupyter_notebook/dialogs.py:148 +#: ../gui/wxpython/jupyter_notebook/panel.py:355 +#: ../gui/wxpython/jupyter_notebook/panel.py:556 +#: ../gui/wxpython/jupyter_notebook/panel.py:594 +#: ../gui/wxpython/lmgr/frame.py:2393 ../gui/wxpython/lmgr/layertree.py:1011 #: ../gui/wxpython/location_wizard/dialogs.py:102 #: ../gui/wxpython/location_wizard/dialogs.py:122 #: ../gui/wxpython/location_wizard/dialogs.py:533 #: ../gui/wxpython/location_wizard/wizard.py:740 #: ../gui/wxpython/location_wizard/wizard.py:917 #: ../gui/wxpython/location_wizard/wizard.py:2114 +#: ../gui/wxpython/main_window/frame.py:2578 #: ../gui/wxpython/psmap/dialogs.py:5598 #: ../gui/wxpython/startup/guiutils.py:255 #: ../gui/wxpython/startup/guiutils.py:308 @@ -870,7 +875,7 @@ msgstr "" #: ../gui/wxpython/core/gcmd.py:153 #: ../gui/wxpython/image2target/ii2t_gis_set.py:714 #: ../gui/wxpython/image2target/ii2t_gis_set.py:760 -#: ../gui/wxpython/lmgr/frame.py:2320 ../gui/wxpython/main_window/frame.py:2429 +#: ../gui/wxpython/lmgr/frame.py:2417 ../gui/wxpython/main_window/frame.py:2602 msgid "Message" msgstr "" @@ -892,12 +897,12 @@ msgstr "" msgid "Unable to execute command: '%s'" msgstr "" -#: ../gui/wxpython/core/gcmd.py:778 ../gui/wxpython/gui_core/forms.py:3382 +#: ../gui/wxpython/core/gcmd.py:778 ../gui/wxpython/gui_core/forms.py:3370 #, python-format msgid "Error in %s" msgstr "" -#: ../gui/wxpython/core/gconsole.py:581 +#: ../gui/wxpython/core/gconsole.py:577 #, python-format msgid "" "Unable to run command:\n" @@ -906,43 +911,43 @@ msgid "" "Option <%(opt)s>: read from standard input is not supported by wxGUI" msgstr "" -#: ../gui/wxpython/core/gconsole.py:618 +#: ../gui/wxpython/core/gconsole.py:614 #, python-format msgid "Module <%s> not found." msgstr "" -#: ../gui/wxpython/core/gconsole.py:757 ../gui/wxpython/gmodeler/panels.py:314 +#: ../gui/wxpython/core/gconsole.py:753 ../gui/wxpython/gmodeler/panels.py:314 #, python-format msgid "%d sec" msgstr "" -#: ../gui/wxpython/core/gconsole.py:760 ../gui/wxpython/gmodeler/panels.py:317 +#: ../gui/wxpython/core/gconsole.py:756 ../gui/wxpython/gmodeler/panels.py:317 #, python-format msgid "%(min)d min %(sec)d sec" msgstr "" -#: ../gui/wxpython/core/gconsole.py:766 +#: ../gui/wxpython/core/gconsole.py:762 #: ../gui/wxpython/gmodeler/model_items.py:282 #: ../gui/wxpython/gmodeler/model_items.py:388 -#: ../gui/wxpython/gmodeler/panels.py:323 ../gui/wxpython/gui_core/ghelp.py:263 +#: ../gui/wxpython/gmodeler/panels.py:323 ../gui/wxpython/gui_core/ghelp.py:259 #: ../gui/wxpython/startup/guiutils.py:586 msgid "unknown" msgstr "" -#: ../gui/wxpython/core/gconsole.py:772 +#: ../gui/wxpython/core/gconsole.py:768 msgid "Please note that the data are left in inconsistent state and may be corrupted" msgstr "" -#: ../gui/wxpython/core/gconsole.py:776 +#: ../gui/wxpython/core/gconsole.py:772 msgid "Command aborted" msgstr "" -#: ../gui/wxpython/core/gconsole.py:779 +#: ../gui/wxpython/core/gconsole.py:775 #, python-brace-format msgid "Command ended with non-zero return code {returncode}" msgstr "" -#: ../gui/wxpython/core/gconsole.py:784 ../gui/wxpython/gmodeler/panels.py:330 +#: ../gui/wxpython/core/gconsole.py:780 ../gui/wxpython/gmodeler/panels.py:330 msgid "Command finished" msgstr "" @@ -3465,7 +3470,7 @@ msgstr "" msgid "Display" msgstr "" -#: ../gui/wxpython/gmodeler/canvas.py:383 ../gui/wxpython/lmgr/layertree.py:512 +#: ../gui/wxpython/gmodeler/canvas.py:383 ../gui/wxpython/lmgr/layertree.py:519 msgid "Properties" msgstr "" @@ -3674,7 +3679,7 @@ msgid "Variables" msgstr "" #: ../gui/wxpython/gmodeler/frame.py:31 ../gui/wxpython/gmodeler/panels.py:106 -#: ../gui/wxpython/gui_core/forms.py:1887 ../gui/wxpython/lmgr/toolbars.py:208 +#: ../gui/wxpython/gui_core/forms.py:1887 #: ../gui/wxpython/main_window/frame.py:907 msgid "Graphical Modeler" msgstr "" @@ -3780,7 +3785,7 @@ msgid "Script editor" msgstr "" #: ../gui/wxpython/gmodeler/panels.py:194 -#: ../gui/wxpython/gui_core/forms.py:2902 +#: ../gui/wxpython/gui_core/forms.py:2898 msgid "Command output" msgstr "" @@ -3840,8 +3845,8 @@ msgid "Choose model file" msgstr "" #: ../gui/wxpython/gmodeler/panels.py:846 -#: ../gui/wxpython/gmodeler/panels.py:904 ../gui/wxpython/lmgr/frame.py:848 -#: ../gui/wxpython/main_window/frame.py:976 +#: ../gui/wxpython/gmodeler/panels.py:904 ../gui/wxpython/lmgr/frame.py:933 +#: ../gui/wxpython/main_window/frame.py:1137 msgid "GRASS Model File (*.gxm)|*.gxm" msgstr "" @@ -3959,8 +3964,8 @@ msgstr "" #: ../gui/wxpython/gmodeler/panels.py:1365 #: ../gui/wxpython/gmodeler/panels.py:1415 -#: ../gui/wxpython/gui_core/ghelp.py:439 ../gui/wxpython/gui_core/ghelp.py:442 -#: ../gui/wxpython/gui_core/ghelp.py:514 +#: ../gui/wxpython/gui_core/ghelp.py:435 ../gui/wxpython/gui_core/ghelp.py:438 +#: ../gui/wxpython/gui_core/ghelp.py:510 #: ../gui/wxpython/location_wizard/wizard.py:231 msgid "Name" msgstr "" @@ -4065,7 +4070,7 @@ msgstr "" #: ../gui/wxpython/gmodeler/panels.py:1743 #: ../gui/wxpython/gui_core/pyedit.py:401 -#: ../gui/wxpython/gui_core/pyedit.py:472 +#: ../gui/wxpython/gui_core/pyedit.py:470 msgid "Python script (*.py)|*.py" msgstr "" @@ -4206,8 +4211,8 @@ msgid "Model properties" msgstr "" #: ../gui/wxpython/gmodeler/preferences.py:693 -#: ../gui/wxpython/lmgr/layertree.py:759 ../gui/wxpython/lmgr/layertree.py:854 -#: ../gui/wxpython/lmgr/layertree.py:880 +#: ../gui/wxpython/lmgr/layertree.py:766 ../gui/wxpython/lmgr/layertree.py:861 +#: ../gui/wxpython/lmgr/layertree.py:887 msgid "Metadata" msgstr "" @@ -4765,7 +4770,7 @@ msgid "Optional" msgstr "" #: ../gui/wxpython/gui_core/forms.py:1471 -#: ../gui/wxpython/gui_core/forms.py:2706 +#: ../gui/wxpython/gui_core/forms.py:2702 msgid "Parameterized in model" msgstr "" @@ -4783,7 +4788,7 @@ msgid "valid range" msgstr "" #: ../gui/wxpython/gui_core/forms.py:1766 -#: ../gui/wxpython/gui_core/forms.py:3343 +#: ../gui/wxpython/gui_core/forms.py:3331 #: ../gui/wxpython/gui_core/toolbars.py:71 msgid "Select font" msgstr "" @@ -4805,73 +4810,73 @@ msgid "Transparent" msgstr "" #: ../gui/wxpython/gui_core/forms.py:2398 -#: ../gui/wxpython/gui_core/forms.py:2509 +#: ../gui/wxpython/gui_core/forms.py:2505 #, python-format msgid "Choose %s" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2454 +#: ../gui/wxpython/gui_core/forms.py:2450 #: ../gui/wxpython/modules/mcalc_builder.py:175 msgid "&Load" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2456 +#: ../gui/wxpython/gui_core/forms.py:2452 msgid "Load and edit content of a file" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2459 +#: ../gui/wxpython/gui_core/forms.py:2455 msgid "&Save as" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2461 +#: ../gui/wxpython/gui_core/forms.py:2457 msgid "Save content to a file for further use" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2467 +#: ../gui/wxpython/gui_core/forms.py:2463 msgid "or enter values directly:" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2471 +#: ../gui/wxpython/gui_core/forms.py:2467 msgid "Enter file content directly instead of specifying a file. Temporary file will be automatically created." msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2510 +#: ../gui/wxpython/gui_core/forms.py:2506 #: ../gui/wxpython/gui_core/gselect.py:1479 msgid "Directory" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2646 +#: ../gui/wxpython/gui_core/forms.py:2642 #: ../gui/wxpython/modules/import_export.py:86 #: ../gui/wxpython/modules/import_export.py:981 msgid "Layer id" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2647 +#: ../gui/wxpython/gui_core/forms.py:2643 #: ../gui/wxpython/modules/import_export.py:87 msgid "Layer name" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2648 +#: ../gui/wxpython/gui_core/forms.py:2644 #: ../gui/wxpython/modules/import_export.py:91 #: ../gui/wxpython/psmap/dialogs.py:2272 msgid "Feature type" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2649 +#: ../gui/wxpython/gui_core/forms.py:2645 #: ../gui/wxpython/modules/import_export.py:92 #: ../gui/wxpython/modules/import_export.py:94 msgid "Projection match" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2912 +#: ../gui/wxpython/gui_core/forms.py:2908 msgid "Manual" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2952 +#: ../gui/wxpython/gui_core/forms.py:2948 msgid "Nothing to load." msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2961 +#: ../gui/wxpython/gui_core/forms.py:2957 #, python-format msgid "" "Unable to load file.\n" @@ -4879,31 +4884,31 @@ msgid "" "Reason: %s" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2982 +#: ../gui/wxpython/gui_core/forms.py:2978 #: ../gui/wxpython/modules/colorrules.py:687 msgid "Nothing to save." msgstr "" -#: ../gui/wxpython/gui_core/forms.py:2987 +#: ../gui/wxpython/gui_core/forms.py:2983 msgid "Save input as..." msgstr "" -#: ../gui/wxpython/gui_core/forms.py:3326 +#: ../gui/wxpython/gui_core/forms.py:3314 msgid "No dataset given." msgstr "" -#: ../gui/wxpython/gui_core/forms.py:3494 -#: ../gui/wxpython/gui_core/forms.py:3513 +#: ../gui/wxpython/gui_core/forms.py:3482 +#: ../gui/wxpython/gui_core/forms.py:3501 #, python-format msgid "Unable to parse command '%s'" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:3521 +#: ../gui/wxpython/gui_core/forms.py:3509 #, python-format msgid "%(cmd)s: parameter '%(key)s' not available" msgstr "" -#: ../gui/wxpython/gui_core/forms.py:3607 +#: ../gui/wxpython/gui_core/forms.py:3595 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable." msgstr "" @@ -4947,13 +4952,13 @@ msgstr "" msgid "Translation status" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:121 ../gui/wxpython/gui_core/ghelp.py:949 -#: ../gui/wxpython/lmgr/frame.py:1462 ../gui/wxpython/main_window/frame.py:1618 +#: ../gui/wxpython/gui_core/ghelp.py:121 ../gui/wxpython/gui_core/ghelp.py:945 +#: ../gui/wxpython/lmgr/frame.py:1547 ../gui/wxpython/main_window/frame.py:1779 msgid "Unable to get GRASS version\n" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:135 ../gui/wxpython/lmgr/frame.py:1490 -#: ../gui/wxpython/main_window/frame.py:1646 +#: ../gui/wxpython/gui_core/ghelp.py:135 ../gui/wxpython/lmgr/frame.py:1575 +#: ../gui/wxpython/main_window/frame.py:1807 msgid "unknown version" msgstr "" @@ -4969,82 +4974,82 @@ msgstr "" msgid "Build Date" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:249 ../gui/wxpython/gui_core/ghelp.py:520 +#: ../gui/wxpython/gui_core/ghelp.py:249 ../gui/wxpython/gui_core/ghelp.py:516 msgid "Language" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:283 ../gui/wxpython/gui_core/ghelp.py:311 -#: ../gui/wxpython/gui_core/ghelp.py:364 ../gui/wxpython/gui_core/ghelp.py:432 -#: ../gui/wxpython/gui_core/ghelp.py:506 ../gui/wxpython/gui_core/ghelp.py:664 +#: ../gui/wxpython/gui_core/ghelp.py:279 ../gui/wxpython/gui_core/ghelp.py:307 +#: ../gui/wxpython/gui_core/ghelp.py:360 ../gui/wxpython/gui_core/ghelp.py:428 +#: ../gui/wxpython/gui_core/ghelp.py:502 ../gui/wxpython/gui_core/ghelp.py:660 #, python-format msgid "%s file missing" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:337 +#: ../gui/wxpython/gui_core/ghelp.py:333 #, python-brace-format msgid "Unable to provide citation suggestion, see GRASS website instead. The error was: {0}" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:417 ../gui/wxpython/gui_core/ghelp.py:489 +#: ../gui/wxpython/gui_core/ghelp.py:413 ../gui/wxpython/gui_core/ghelp.py:485 #, python-format msgid "Error when reading file '%s'." msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:419 ../gui/wxpython/gui_core/ghelp.py:491 +#: ../gui/wxpython/gui_core/ghelp.py:415 ../gui/wxpython/gui_core/ghelp.py:487 msgid "Lines:" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:439 ../gui/wxpython/gui_core/ghelp.py:444 +#: ../gui/wxpython/gui_core/ghelp.py:435 ../gui/wxpython/gui_core/ghelp.py:440 msgid "Country" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:439 ../gui/wxpython/gui_core/ghelp.py:443 -#: ../gui/wxpython/gui_core/ghelp.py:517 +#: ../gui/wxpython/gui_core/ghelp.py:435 ../gui/wxpython/gui_core/ghelp.py:439 +#: ../gui/wxpython/gui_core/ghelp.py:513 msgid "E-mail" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:445 +#: ../gui/wxpython/gui_core/ghelp.py:441 msgid "OSGeo_ID" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:446 +#: ../gui/wxpython/gui_core/ghelp.py:442 msgid "ORCID" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:523 +#: ../gui/wxpython/gui_core/ghelp.py:519 msgid "Nation" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:566 +#: ../gui/wxpython/gui_core/ghelp.py:562 #, python-format msgid " %d translated" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:570 ../gui/wxpython/gui_core/ghelp.py:595 +#: ../gui/wxpython/gui_core/ghelp.py:566 ../gui/wxpython/gui_core/ghelp.py:591 #, python-format msgid " %d fuzzy" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:574 ../gui/wxpython/gui_core/ghelp.py:604 +#: ../gui/wxpython/gui_core/ghelp.py:570 ../gui/wxpython/gui_core/ghelp.py:600 #, python-format msgid " %d untranslated" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:586 +#: ../gui/wxpython/gui_core/ghelp.py:582 #, python-format msgid "%d translated" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:661 +#: ../gui/wxpython/gui_core/ghelp.py:657 #, python-format msgid "File <%s> not found" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:833 +#: ../gui/wxpython/gui_core/ghelp.py:829 msgid "&Next" msgstr "" -#: ../gui/wxpython/gui_core/ghelp.py:835 +#: ../gui/wxpython/gui_core/ghelp.py:831 msgid "&Previous" msgstr "" @@ -5802,60 +5807,60 @@ msgstr "" msgid " Unable to launch Python script." msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:470 +#: ../gui/wxpython/gui_core/pyedit.py:468 msgid "Open file" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:512 +#: ../gui/wxpython/gui_core/pyedit.py:508 #, python-brace-format msgid "File <{path}> doesn't exist. It was probably moved or deleted." msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:580 +#: ../gui/wxpython/gui_core/pyedit.py:576 msgid "Replace the content by the template?" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:582 +#: ../gui/wxpython/gui_core/pyedit.py:578 msgid "Replace the content by the example?" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:584 +#: ../gui/wxpython/gui_core/pyedit.py:580 msgid "Replace the current content by the file content?" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:591 +#: ../gui/wxpython/gui_core/pyedit.py:587 msgid "Replace content" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:604 +#: ../gui/wxpython/gui_core/pyedit.py:600 msgid "Set parameters for the script" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:606 +#: ../gui/wxpython/gui_core/pyedit.py:602 msgid "Specify command line parameters for the script separated by spaces:" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:659 +#: ../gui/wxpython/gui_core/pyedit.py:655 msgid "Open (Ctrl+O)" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:660 +#: ../gui/wxpython/gui_core/pyedit.py:656 msgid "Save (Ctrl+S)" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:661 +#: ../gui/wxpython/gui_core/pyedit.py:657 msgid "Run (Ctrl+R)" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:663 +#: ../gui/wxpython/gui_core/pyedit.py:659 msgid "Activate overwrite" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:664 +#: ../gui/wxpython/gui_core/pyedit.py:660 msgid "Deactivate overwrite" msgstr "" -#: ../gui/wxpython/gui_core/pyedit.py:883 +#: ../gui/wxpython/gui_core/pyedit.py:879 msgid "Simple Python Editor" msgstr "" @@ -5930,7 +5935,7 @@ msgid "Copy map names to clipboard (bottom to top)" msgstr "" #: ../gui/wxpython/gui_core/simplelmgr.py:307 -#: ../gui/wxpython/lmgr/layertree.py:1282 +#: ../gui/wxpython/lmgr/layertree.py:1293 #, python-format msgid "Set opacity of <%s>" msgstr "" @@ -6123,8 +6128,8 @@ msgstr "" msgid "No vector map layer selected. Operation canceled." msgstr "" -#: ../gui/wxpython/gui_core/vselect.py:288 ../gui/wxpython/lmgr/frame.py:2319 -#: ../gui/wxpython/main_window/frame.py:2428 +#: ../gui/wxpython/gui_core/vselect.py:288 ../gui/wxpython/lmgr/frame.py:2416 +#: ../gui/wxpython/main_window/frame.py:2601 #: ../gui/wxpython/mapdisp/frame.py:711 msgid "No map layer selected. Operation canceled." msgstr "" @@ -6234,7 +6239,9 @@ msgstr "" msgid "&Clear" msgstr "" -#: ../gui/wxpython/gui_core/wrap.py:268 ../gui/wxpython/mapswipe/dialogs.py:200 +#: ../gui/wxpython/gui_core/wrap.py:268 +#: ../gui/wxpython/jupyter_notebook/dialogs.py:92 +#: ../gui/wxpython/mapswipe/dialogs.py:200 msgid "Cancel" msgstr "" @@ -6530,7 +6537,7 @@ msgstr "" msgid "Enter name of new vector map:" msgstr "" -#: ../gui/wxpython/iclass/dialogs.py:792 ../gui/wxpython/lmgr/layertree.py:640 +#: ../gui/wxpython/iclass/dialogs.py:792 ../gui/wxpython/lmgr/layertree.py:647 msgid "Export attribute table" msgstr "" @@ -6571,7 +6578,7 @@ msgid "" msgstr "" #: ../gui/wxpython/iclass/frame.py:108 ../gui/wxpython/iclass/frame.py:1653 -#: ../gui/wxpython/lmgr/frame.py:1688 ../gui/wxpython/main_window/frame.py:1844 +#: ../gui/wxpython/lmgr/frame.py:1773 ../gui/wxpython/main_window/frame.py:2005 msgid "Supervised Classification Tool" msgstr "" @@ -7372,8 +7379,8 @@ msgstr "" msgid "Set color" msgstr "" -#: ../gui/wxpython/iscatt/frame.py:565 ../gui/wxpython/lmgr/layertree.py:500 -#: ../gui/wxpython/lmgr/layertree.py:598 +#: ../gui/wxpython/iscatt/frame.py:565 ../gui/wxpython/lmgr/layertree.py:507 +#: ../gui/wxpython/lmgr/layertree.py:605 msgid "Change opacity level" msgstr "" @@ -7442,11 +7449,10 @@ msgid "" msgstr "" #: ../gui/wxpython/iscatt/plots.py:45 -#, python-brace-format -msgid "The Scatterplot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed. {0}" +msgid "The Scatterplot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed." msgstr "" -#: ../gui/wxpython/iscatt/plots.py:609 +#: ../gui/wxpython/iscatt/plots.py:610 msgid "Zoom to scatter plot extend" msgstr "" @@ -7528,6 +7534,336 @@ msgstr "" msgid "Remove selected class" msgstr "" +#: ../gui/wxpython/jupyter_notebook/dialogs.py:31 +#: ../gui/wxpython/lmgr/toolbars.py:217 +msgid "Start Jupyter Notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:39 +msgid "Where to Save Notebooks" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:44 +msgid "Choose custom directory (leave empty for current directory):" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:50 +msgid "Select notebook directory" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:56 +msgid "Save in project: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:65 +#: ../gui/wxpython/modules/extensions.py:82 +msgid "Options" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:68 +msgid "Create welcome notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:72 +msgid "" +"If selected, a welcome notebook ({}) will be created,\n" +"but only if the selected directory contains no .ipynb files." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:81 +msgid "Note: The welcome notebook will be created only if the directory contains no .ipynb files." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:94 +msgid "Open Notebook in Browser" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:96 +msgid "Open Integrated Notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/dialogs.py:147 +msgid "Cannot create or write to the selected directory." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/frame.py:76 +msgid "" +"Integrated mode failed: wx.html2.WebView is not functional on this system.\n" +"\n" +"Would you like to open Jupyter Notebook in your external browser instead?" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/frame.py:79 +#: ../gui/wxpython/main_window/frame.py:1057 +msgid "WebView Not Supported" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/frame.py:107 +#: ../gui/wxpython/main_window/frame.py:971 +msgid "Browser" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/frame.py:107 +#: ../gui/wxpython/main_window/frame.py:948 +msgid "Integrated" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/frame.py:109 +#: ../gui/wxpython/main_window/frame.py:918 +msgid "Jupyter Notebook ({}) - {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/frame.py:110 +#: ../gui/wxpython/jupyter_notebook/panel.py:48 +#: ../gui/wxpython/lmgr/toolbars.py:260 +msgid "Jupyter Notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/notebook.py:174 +msgid "Really close page '{}'?" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/notebook.py:175 +msgid "Close page" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:111 +#: ../gui/wxpython/jupyter_notebook/panel.py:488 +msgid "" +"Failed to start Jupyter environment:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:112 +#: ../gui/wxpython/jupyter_notebook/panel.py:124 +#: ../gui/wxpython/jupyter_notebook/panel.py:489 +msgid "Startup Error" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:123 +#: ../gui/wxpython/jupyter_notebook/panel.py:165 +msgid "" +"Failed to get Jupyter server URL:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:133 +#: ../gui/wxpython/jupyter_notebook/panel.py:503 +#, python-brace-format +msgid "Jupyter server running at {url} (PID: {pid}) | Storage: {storage}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:166 +msgid "URL Error" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:176 +msgid "File '{}' is already opened." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:179 +msgid "File '{}' opened." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:190 +msgid "File '{}' imported and opened." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:193 +msgid "" +"Failed to import file:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:194 +msgid "Notebook Import Error" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:210 +msgid "Import file" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:234 +msgid "" +"File '{}' already exists in notebook storage.\n" +"Please enter a new name:" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:236 +msgid "Rename File" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:256 +msgid "No page for export is currently selected." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:257 +#: ../gui/wxpython/jupyter_notebook/panel.py:285 +msgid "Notebook Export Error" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:265 +msgid "Export file as..." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:280 +msgid "File {} exported to {}." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:284 +msgid "" +"Failed to export file:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:296 +msgid "Enter a name for the new notebook:" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:297 +msgid "New Notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:311 +msgid "" +"Failed to create notebook:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:312 +msgid "Notebook Creation Error" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:319 +msgid "New file '{}' created." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:329 +#: ../gui/wxpython/jupyter_notebook/panel.py:568 +msgid "Do you really want to close this tab and stop the Jupyter server?" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:330 +#: ../gui/wxpython/jupyter_notebook/panel.py:569 +msgid "Confirm Close" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:349 +#: ../gui/wxpython/jupyter_notebook/panel.py:541 +#: ../gui/wxpython/jupyter_notebook/panel.py:588 +#, python-brace-format +msgid "Jupyter server at {url} (PID: {pid}) has been stopped" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:354 +#: ../gui/wxpython/jupyter_notebook/panel.py:593 +msgid "" +"Failed to stop Jupyter server:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:440 +msgid "Jupyter Notebook has been opened in your default browser." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:464 +msgid "Open in Browser Again" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:468 +msgid "Stop Jupyter Server" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:495 +msgid "Server URL: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:496 +msgid "Process ID: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:497 +msgid "Notebook Storage: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/panel.py:555 +msgid "" +"Failed to stop server:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:145 +msgid "Notebook storage does not exist: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:156 +msgid "Notebook storage is not writable: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:161 +msgid "Server is already running on port {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:199 +msgid "Failed to start Jupyter server. Ensure all dependencies are installed and accessible: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:216 +msgid "Failed to start Jupyter server. Check for port conflicts, missing dependencies, or insufficient permissions." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:243 +msgid "Error stopping Jupyter server (PID {}): {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:264 +msgid "Server URL is not set. Start the server first." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:267 +msgid "Jupyter server has stopped unexpectedly." +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/server.py:334 +msgid "" +"Some Jupyter servers failed to stop:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/storage.py:108 +#: ../gui/wxpython/jupyter_notebook/storage.py:150 +msgid "File not found: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/storage.py:111 +msgid "Source file must have .ipynb extension: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/storage.py:125 +#: ../gui/wxpython/jupyter_notebook/storage.py:159 +msgid "Target file already exists: {}" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/storage.py:192 +msgid "File '{}' already exists" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/toolbars.py:58 +msgid "Stop server" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/toolbars.py:88 +msgid "Create new notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/toolbars.py:92 +msgid "Import notebook" +msgstr "" + +#: ../gui/wxpython/jupyter_notebook/toolbars.py:96 +msgid "Export notebook" +msgstr "" + #: ../gui/wxpython/lmgr/frame.py:111 ../gui/wxpython/main_window/frame.py:128 msgid "GRASS" msgstr "" @@ -7557,9 +7893,9 @@ msgstr "" msgid "Map Display {number}" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:583 ../gui/wxpython/lmgr/frame.py:903 +#: ../gui/wxpython/lmgr/frame.py:583 ../gui/wxpython/lmgr/frame.py:988 #: ../gui/wxpython/main_window/frame.py:531 -#: ../gui/wxpython/main_window/frame.py:1027 +#: ../gui/wxpython/main_window/frame.py:1188 msgid "Close Map Display {}" msgstr "" @@ -7567,145 +7903,171 @@ msgstr "" msgid "Console" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:794 ../gui/wxpython/main_window/frame.py:922 +#: ../gui/wxpython/lmgr/frame.py:822 ../gui/wxpython/main_window/frame.py:1014 +msgid "" +"Integrated mode requires wx.html2.WebView, which is not available on this system.\n" +"\n" +"This can happen if wxPython or wxWidgets were built without HTML2/WebView support." +msgstr "" + +#: ../gui/wxpython/lmgr/frame.py:835 ../gui/wxpython/main_window/frame.py:1027 +msgid "" +"Integrated mode requires Microsoft Edge WebView2 runtime on Windows.\n" +"\n" +"It is missing or not properly configured on this system." +msgstr "" + +#: ../gui/wxpython/lmgr/frame.py:842 ../gui/wxpython/main_window/frame.py:1034 +#, python-brace-format +msgid "" +"{message}\n" +"\n" +"Would you like to open Jupyter Notebook in your external browser instead?" +msgstr "" + +#: ../gui/wxpython/lmgr/frame.py:844 ../gui/wxpython/main_window/frame.py:1036 +msgid "Integrated Mode Not Available" +msgstr "" + +#: ../gui/wxpython/lmgr/frame.py:879 ../gui/wxpython/main_window/frame.py:1083 msgid "Map Swipe Tool" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:846 ../gui/wxpython/main_window/frame.py:974 +#: ../gui/wxpython/lmgr/frame.py:931 ../gui/wxpython/main_window/frame.py:1135 msgid "Choose model to run" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:998 ../gui/wxpython/main_window/frame.py:1140 +#: ../gui/wxpython/lmgr/frame.py:1083 ../gui/wxpython/main_window/frame.py:1301 #, python-format msgid "Command '%s' not yet implemented in the WxGUI. Try adding it as a command layer instead." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1180 ../gui/wxpython/lmgr/frame.py:1859 -#: ../gui/wxpython/main_window/frame.py:1336 -#: ../gui/wxpython/main_window/frame.py:2024 +#: ../gui/wxpython/lmgr/frame.py:1265 ../gui/wxpython/lmgr/frame.py:1944 +#: ../gui/wxpython/main_window/frame.py:1497 +#: ../gui/wxpython/main_window/frame.py:2185 msgid "Selected map layer is not vector." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1187 ../gui/wxpython/main_window/frame.py:1343 +#: ../gui/wxpython/lmgr/frame.py:1272 ../gui/wxpython/main_window/frame.py:1504 msgid "Editing is allowed only for vector maps from the current mapset." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1214 ../gui/wxpython/main_window/frame.py:1370 +#: ../gui/wxpython/lmgr/frame.py:1299 ../gui/wxpython/main_window/frame.py:1531 msgid "Choose script file to run" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1216 ../gui/wxpython/main_window/frame.py:1372 +#: ../gui/wxpython/lmgr/frame.py:1301 ../gui/wxpython/main_window/frame.py:1533 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1229 ../gui/wxpython/main_window/frame.py:1385 +#: ../gui/wxpython/lmgr/frame.py:1314 ../gui/wxpython/main_window/frame.py:1546 #, python-format msgid "Script file '%s' doesn't exist. Operation canceled." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1239 ../gui/wxpython/main_window/frame.py:1395 +#: ../gui/wxpython/lmgr/frame.py:1324 ../gui/wxpython/main_window/frame.py:1556 #, python-format msgid "Script <%s> is not executable. Do you want to set the permissions that allows you to run this script (note that you must be the owner of the file)?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1245 ../gui/wxpython/main_window/frame.py:1401 +#: ../gui/wxpython/lmgr/frame.py:1330 ../gui/wxpython/main_window/frame.py:1562 msgid "Set permission?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1255 ../gui/wxpython/main_window/frame.py:1411 +#: ../gui/wxpython/lmgr/frame.py:1340 ../gui/wxpython/main_window/frame.py:1572 msgid "Unable to set permission. Operation canceled." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1268 ../gui/wxpython/main_window/frame.py:1424 +#: ../gui/wxpython/lmgr/frame.py:1353 ../gui/wxpython/main_window/frame.py:1585 #, python-format msgid "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this directory to GRASS_ADDON_PATH?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1272 ../gui/wxpython/main_window/frame.py:1428 +#: ../gui/wxpython/lmgr/frame.py:1357 ../gui/wxpython/main_window/frame.py:1589 msgid "Update Addons path?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1279 ../gui/wxpython/main_window/frame.py:1435 +#: ../gui/wxpython/lmgr/frame.py:1364 ../gui/wxpython/main_window/frame.py:1596 #, python-format msgid "Launching script '%s'..." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1294 +#: ../gui/wxpython/lmgr/frame.py:1379 msgid "No location/mapset provided. Operation canceled." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1334 ../gui/wxpython/main_window/frame.py:1490 +#: ../gui/wxpython/lmgr/frame.py:1419 ../gui/wxpython/main_window/frame.py:1651 msgid "No mapset provided. Operation canceled." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1369 ../gui/wxpython/main_window/frame.py:1525 +#: ../gui/wxpython/lmgr/frame.py:1454 ../gui/wxpython/main_window/frame.py:1686 #, python-format msgid "" "Working directory changed to:\n" "\"%s\"" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1375 ../gui/wxpython/main_window/frame.py:1531 +#: ../gui/wxpython/lmgr/frame.py:1460 ../gui/wxpython/main_window/frame.py:1692 msgid "Changes current working directory for this GUI." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1376 ../gui/wxpython/main_window/frame.py:1532 +#: ../gui/wxpython/lmgr/frame.py:1461 ../gui/wxpython/main_window/frame.py:1693 msgid "Usage: cd [directory]" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1377 ../gui/wxpython/main_window/frame.py:1533 +#: ../gui/wxpython/lmgr/frame.py:1462 ../gui/wxpython/main_window/frame.py:1694 msgid "Without parameters it opens a dialog." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1383 ../gui/wxpython/main_window/frame.py:1539 +#: ../gui/wxpython/lmgr/frame.py:1468 ../gui/wxpython/main_window/frame.py:1700 msgid "If ~ (tilde) is present as the first directory on the path, it is replaced by user's home directory." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1402 ../gui/wxpython/main_window/frame.py:1558 +#: ../gui/wxpython/lmgr/frame.py:1487 ../gui/wxpython/main_window/frame.py:1719 msgid "More than one parameter provided." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1423 ../gui/wxpython/main_window/frame.py:1579 +#: ../gui/wxpython/lmgr/frame.py:1508 ../gui/wxpython/main_window/frame.py:1740 msgid "Choose a working directory" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1473 ../gui/wxpython/main_window/frame.py:1629 +#: ../gui/wxpython/lmgr/frame.py:1558 ../gui/wxpython/main_window/frame.py:1790 msgid "System Info" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1489 ../gui/wxpython/main_window/frame.py:1645 +#: ../gui/wxpython/lmgr/frame.py:1574 ../gui/wxpython/main_window/frame.py:1806 msgid "GRASS version" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1491 ../gui/wxpython/main_window/frame.py:1647 +#: ../gui/wxpython/lmgr/frame.py:1576 ../gui/wxpython/main_window/frame.py:1808 msgid "Code revision" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1493 ../gui/wxpython/main_window/frame.py:1649 +#: ../gui/wxpython/lmgr/frame.py:1578 ../gui/wxpython/main_window/frame.py:1810 msgid "Build date" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1495 ../gui/wxpython/main_window/frame.py:1651 +#: ../gui/wxpython/lmgr/frame.py:1580 ../gui/wxpython/main_window/frame.py:1812 msgid "Build platform" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1507 ../gui/wxpython/main_window/frame.py:1663 +#: ../gui/wxpython/lmgr/frame.py:1592 ../gui/wxpython/main_window/frame.py:1824 msgid "Platform" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1567 ../gui/wxpython/main_window/frame.py:1724 +#: ../gui/wxpython/lmgr/frame.py:1652 ../gui/wxpython/main_window/frame.py:1885 msgid "Close all Map Displays" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1585 ../gui/wxpython/main_window/frame.py:1742 +#: ../gui/wxpython/lmgr/frame.py:1670 ../gui/wxpython/main_window/frame.py:1903 msgid "Enter new name:" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1586 ../gui/wxpython/main_window/frame.py:1743 +#: ../gui/wxpython/lmgr/frame.py:1671 ../gui/wxpython/main_window/frame.py:1904 msgid "Rename Map Display" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1680 ../gui/wxpython/main_window/frame.py:1836 +#: ../gui/wxpython/lmgr/frame.py:1765 ../gui/wxpython/main_window/frame.py:1997 #, python-format msgid "" "Unable to launch \"Supervised Classification Tool\".\n" @@ -7713,35 +8075,35 @@ msgid "" "Reason: %s" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1727 ../gui/wxpython/main_window/frame.py:1883 +#: ../gui/wxpython/lmgr/frame.py:1812 ../gui/wxpython/main_window/frame.py:2044 msgid "Unable to start Timeline Tool." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1737 ../gui/wxpython/main_window/frame.py:1893 +#: ../gui/wxpython/lmgr/frame.py:1822 ../gui/wxpython/main_window/frame.py:2054 msgid "Unable to start Temporal Plot Tool." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1907 ../gui/wxpython/main_window/frame.py:2070 +#: ../gui/wxpython/lmgr/frame.py:1992 ../gui/wxpython/main_window/frame.py:2231 msgid "Add selected map layers into layer tree" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:1939 ../gui/wxpython/lmgr/frame.py:1977 -#: ../gui/wxpython/main_window/frame.py:2102 -#: ../gui/wxpython/main_window/frame.py:2140 +#: ../gui/wxpython/lmgr/frame.py:2024 ../gui/wxpython/lmgr/frame.py:2062 +#: ../gui/wxpython/main_window/frame.py:2263 +#: ../gui/wxpython/main_window/frame.py:2301 #, python-format msgid "Unsupported map layer type <%s>." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2120 ../gui/wxpython/main_window/frame.py:2264 +#: ../gui/wxpython/lmgr/frame.py:2205 ../gui/wxpython/main_window/frame.py:2425 msgid "Note that cell values can only be displayed for regions of less than 10,000 cells." msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2215 ../gui/wxpython/lmgr/layertree.py:2128 -#: ../gui/wxpython/main_window/frame.py:2340 +#: ../gui/wxpython/lmgr/frame.py:2300 ../gui/wxpython/lmgr/layertree.py:2130 +#: ../gui/wxpython/main_window/frame.py:2501 msgid "opacity:" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2224 ../gui/wxpython/main_window/frame.py:2349 +#: ../gui/wxpython/lmgr/frame.py:2309 ../gui/wxpython/main_window/frame.py:2510 #, python-format msgid "" "Do you want to remove map layer(s)\n" @@ -7749,23 +8111,29 @@ msgid "" "from layer tree?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2229 ../gui/wxpython/main_window/frame.py:2354 +#: ../gui/wxpython/lmgr/frame.py:2314 ../gui/wxpython/main_window/frame.py:2515 msgid "Do you want to remove selected map layer(s) from layer tree?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2235 ../gui/wxpython/main_window/frame.py:2360 +#: ../gui/wxpython/lmgr/frame.py:2320 ../gui/wxpython/main_window/frame.py:2521 msgid "Remove map layer" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2293 ../gui/wxpython/main_window/frame.py:2402 +#: ../gui/wxpython/lmgr/frame.py:2378 ../gui/wxpython/main_window/frame.py:2563 msgid "Quit GRASS GUI" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2331 ../gui/wxpython/main_window/frame.py:2440 +#: ../gui/wxpython/lmgr/frame.py:2392 ../gui/wxpython/main_window/frame.py:2577 +msgid "" +"Failed to stop Jupyter servers:\n" +"{}" +msgstr "" + +#: ../gui/wxpython/lmgr/frame.py:2428 ../gui/wxpython/main_window/frame.py:2613 msgid "Display resolution is currently not constrained to computational settings. It's suggested to constrain map to region geometry. Do you want to constrain the resolution?" msgstr "" -#: ../gui/wxpython/lmgr/frame.py:2342 ../gui/wxpython/main_window/frame.py:2451 +#: ../gui/wxpython/lmgr/frame.py:2439 ../gui/wxpython/main_window/frame.py:2624 msgid "Constrain map to region geometry?" msgstr "" @@ -7833,181 +8201,181 @@ msgstr "" msgid "Background vector map" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:161 ../gui/wxpython/lmgr/layertree.py:1661 +#: ../gui/wxpython/lmgr/layertree.py:162 ../gui/wxpython/lmgr/layertree.py:1672 msgid "Map Layers" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:456 ../gui/wxpython/rlisetup/frame.py:161 +#: ../gui/wxpython/lmgr/layertree.py:463 ../gui/wxpython/rlisetup/frame.py:157 msgid "Rename" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:463 +#: ../gui/wxpython/lmgr/layertree.py:470 msgid "Check selected layers" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:474 +#: ../gui/wxpython/lmgr/layertree.py:481 msgid "Uncheck selected layers" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:525 +#: ../gui/wxpython/lmgr/layertree.py:532 msgid "3D view properties" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:535 +#: ../gui/wxpython/lmgr/layertree.py:542 msgid "Zoom to selected map(s)" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:547 +#: ../gui/wxpython/lmgr/layertree.py:554 msgid "Zoom to selected map(s) (ignore NULLs)" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:558 +#: ../gui/wxpython/lmgr/layertree.py:565 msgid "Set computational region from selected map(s)" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:571 +#: ../gui/wxpython/lmgr/layertree.py:578 msgid "Align computational region to selected map" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:614 +#: ../gui/wxpython/lmgr/layertree.py:621 msgid "Export common formats" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:628 +#: ../gui/wxpython/lmgr/layertree.py:635 msgid "Export PostGIS" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:653 ../gui/wxpython/lmgr/layertree.py:784 +#: ../gui/wxpython/lmgr/layertree.py:660 ../gui/wxpython/lmgr/layertree.py:791 msgid "Create pack" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:667 ../gui/wxpython/lmgr/layertree.py:800 +#: ../gui/wxpython/lmgr/layertree.py:674 ../gui/wxpython/lmgr/layertree.py:807 msgid "Make a copy in the current mapset" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:673 ../gui/wxpython/lmgr/layertree.py:806 -#: ../gui/wxpython/lmgr/layertree.py:863 +#: ../gui/wxpython/lmgr/layertree.py:680 ../gui/wxpython/lmgr/layertree.py:813 +#: ../gui/wxpython/lmgr/layertree.py:870 msgid "Set color table" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:677 ../gui/wxpython/lmgr/layertree.py:810 +#: ../gui/wxpython/lmgr/layertree.py:684 ../gui/wxpython/lmgr/layertree.py:817 msgid "Set color table interactively" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:682 +#: ../gui/wxpython/lmgr/layertree.py:689 msgid "Show attribute data" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:695 +#: ../gui/wxpython/lmgr/layertree.py:702 msgid "Start editing" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:700 +#: ../gui/wxpython/lmgr/layertree.py:707 msgid "Stop editing" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:723 +#: ../gui/wxpython/lmgr/layertree.py:730 msgid "Rebuild topology" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:817 +#: ../gui/wxpython/lmgr/layertree.py:824 msgid "Histogram" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:828 ../gui/wxpython/lmgr/layertree.py:871 +#: ../gui/wxpython/lmgr/layertree.py:835 ../gui/wxpython/lmgr/layertree.py:878 msgid "Univariate raster statistics" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:837 +#: ../gui/wxpython/lmgr/layertree.py:844 msgid "Report raster statistics" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:845 +#: ../gui/wxpython/lmgr/layertree.py:852 msgid "Profile" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:888 +#: ../gui/wxpython/lmgr/layertree.py:895 msgid "Save web service layer" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1003 +#: ../gui/wxpython/lmgr/layertree.py:1010 msgid "Unable to create profile of raster map." msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1045 +#: ../gui/wxpython/lmgr/layertree.py:1052 #: ../gui/wxpython/nviz/mapwindow.py:1782 ../gui/wxpython/nviz/tools.py:894 #: ../gui/wxpython/psmap/dialogs.py:1635 msgid "Raster map" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1049 ../gui/wxpython/nviz/tools.py:1529 +#: ../gui/wxpython/lmgr/layertree.py:1056 ../gui/wxpython/nviz/tools.py:1529 #: ../gui/wxpython/psmap/dialogs.py:3642 msgid "Vector map" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1053 ../gui/wxpython/nviz/tools.py:1953 +#: ../gui/wxpython/lmgr/layertree.py:1060 ../gui/wxpython/nviz/tools.py:1953 msgid "3D raster map" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1055 +#: ../gui/wxpython/lmgr/layertree.py:1062 #, python-format msgid "Unsupported map type <%s>" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1061 +#: ../gui/wxpython/lmgr/layertree.py:1068 #, python-format msgid "Enter name for the new %s in the current mapset:" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1063 +#: ../gui/wxpython/lmgr/layertree.py:1070 #, python-format msgid "Make a copy of %s <%s>" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1081 +#: ../gui/wxpython/lmgr/layertree.py:1088 #, python-format msgid "%s <%s> already exists in the current mapset. Do you want to overwrite it?" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1094 +#: ../gui/wxpython/lmgr/layertree.py:1101 #, python-format msgid "Unable to make copy of <%s>" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1101 +#: ../gui/wxpython/lmgr/layertree.py:1108 #, python-format msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset." msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1123 +#: ../gui/wxpython/lmgr/layertree.py:1130 msgid "Unable to display histogram of raster map. No map name defined." msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1180 ../gui/wxpython/mapdisp/frame.py:316 +#: ../gui/wxpython/lmgr/layertree.py:1191 ../gui/wxpython/mapdisp/frame.py:316 #, python-format msgid "" "Unable to start wxGUI vector digitizer.\n" "Details: %s" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1244 +#: ../gui/wxpython/lmgr/layertree.py:1255 msgid "Set opacity of <{}>" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1483 +#: ../gui/wxpython/lmgr/layertree.py:1494 msgid "Layer group:" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1488 -#: ../gui/wxpython/lmgr/layertree.py:2047 +#: ../gui/wxpython/lmgr/layertree.py:1499 +#: ../gui/wxpython/lmgr/layertree.py:2049 msgid "Click to edit layer settings" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1552 +#: ../gui/wxpython/lmgr/layertree.py:1563 msgid "(double click to set properties)" msgstr "" -#: ../gui/wxpython/lmgr/layertree.py:1826 +#: ../gui/wxpython/lmgr/layertree.py:1837 msgid "Please wait, updating data..." msgstr "" @@ -8034,7 +8402,7 @@ msgstr "" msgid "Simple &editor" msgstr "" -#: ../gui/wxpython/lmgr/pyshell.py:80 ../gui/wxpython/lmgr/toolbars.py:215 +#: ../gui/wxpython/lmgr/pyshell.py:80 ../gui/wxpython/lmgr/toolbars.py:212 msgid "Open a simple Python code editor" msgstr "" @@ -8180,51 +8548,51 @@ msgstr "" msgid "Raster Map Calculator" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:209 +#: ../gui/wxpython/lmgr/toolbars.py:208 msgid "Georectifier" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:210 ../gui/wxpython/psmap/frame.py:81 +#: ../gui/wxpython/lmgr/toolbars.py:209 ../gui/wxpython/psmap/frame.py:81 msgid "Cartographic Composer" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:212 -msgid "Launch user-defined script" +#: ../gui/wxpython/lmgr/toolbars.py:210 +msgid "Open Graphical Modeler" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:222 -msgid "New display" +#: ../gui/wxpython/lmgr/toolbars.py:215 +msgid "Launch user-defined script" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:254 +#: ../gui/wxpython/lmgr/toolbars.py:250 msgid "Python code editor" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:276 +#: ../gui/wxpython/lmgr/toolbars.py:282 msgid "GUI settings" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:277 +#: ../gui/wxpython/lmgr/toolbars.py:283 msgid "GRASS manual" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:317 +#: ../gui/wxpython/lmgr/toolbars.py:323 msgid "Generate command for m.nviz.image" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:318 +#: ../gui/wxpython/lmgr/toolbars.py:324 msgid "Generate command for m.nviz.image based on current state" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:322 +#: ../gui/wxpython/lmgr/toolbars.py:328 msgid "3D view mode settings" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:323 +#: ../gui/wxpython/lmgr/toolbars.py:329 msgid "Show 3D view mode settings dialog" msgstr "" -#: ../gui/wxpython/lmgr/toolbars.py:325 +#: ../gui/wxpython/lmgr/toolbars.py:331 msgid "Show 3D view mode manual" msgstr "" @@ -8707,15 +9075,22 @@ msgstr "" msgid "There were some issues when loading menu or Tools:" msgstr "" -#: ../gui/wxpython/main_window/frame.py:1450 +#: ../gui/wxpython/main_window/frame.py:1054 +msgid "" +"Integrated mode is not supported on this system.\n" +"\n" +"Would you like to open Jupyter Notebook in your external browser instead?" +msgstr "" + +#: ../gui/wxpython/main_window/frame.py:1611 msgid "No project provided. Operation canceled." msgstr "" -#: ../gui/wxpython/main_window/frame.py:1714 +#: ../gui/wxpython/main_window/frame.py:1875 msgid "Close workspace" msgstr "" -#: ../gui/wxpython/main_window/frame.py:2002 +#: ../gui/wxpython/main_window/frame.py:2163 msgid "Code editor" msgstr "" @@ -9570,10 +9945,6 @@ msgstr "" msgid "List of extensions - double-click to install" msgstr "" -#: ../gui/wxpython/modules/extensions.py:82 -msgid "Options" -msgstr "" - #: ../gui/wxpython/modules/extensions.py:115 msgid "&Install" msgstr "" @@ -10218,8 +10589,8 @@ msgid "Surface" msgstr "" #: ../gui/wxpython/nviz/preferences.py:442 ../gui/wxpython/nviz/tools.py:914 -#: ../gui/wxpython/nviz/tools.py:1973 ../gui/wxpython/timeline/frame.py:139 -#: ../gui/wxpython/tplot/frame.py:401 +#: ../gui/wxpython/nviz/tools.py:1973 ../gui/wxpython/timeline/frame.py:140 +#: ../gui/wxpython/tplot/frame.py:402 msgid "Draw" msgstr "" @@ -12225,69 +12596,69 @@ msgstr "" msgid "View and modify the configuration file '{name}'" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:100 +#: ../gui/wxpython/rlisetup/frame.py:96 #, python-brace-format msgid "" "Are you sure that you want modify r.li configuration file {name}?\n" "You could broke the configuration file..." msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:105 +#: ../gui/wxpython/rlisetup/frame.py:101 msgid "WARNING" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:128 +#: ../gui/wxpython/rlisetup/frame.py:124 msgid "Setup for r.li modules" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:148 +#: ../gui/wxpython/rlisetup/frame.py:144 msgid "Available sampling area configuration files" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:158 +#: ../gui/wxpython/rlisetup/frame.py:154 msgid "Remove a configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:159 +#: ../gui/wxpython/rlisetup/frame.py:155 msgid "Create" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:160 +#: ../gui/wxpython/rlisetup/frame.py:156 msgid "Create a new configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:162 +#: ../gui/wxpython/rlisetup/frame.py:158 msgid "Rename a configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:163 +#: ../gui/wxpython/rlisetup/frame.py:159 msgid "View/Edit" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:164 +#: ../gui/wxpython/rlisetup/frame.py:160 msgid "View and edit a configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:238 ../gui/wxpython/rlisetup/frame.py:268 -#: ../gui/wxpython/rlisetup/frame.py:294 +#: ../gui/wxpython/rlisetup/frame.py:234 ../gui/wxpython/rlisetup/frame.py:264 +#: ../gui/wxpython/rlisetup/frame.py:290 msgid "You have to select a configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:243 +#: ../gui/wxpython/rlisetup/frame.py:239 #, python-format msgid "Do you want remove r.li configuration file <%s>?" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:244 +#: ../gui/wxpython/rlisetup/frame.py:240 msgid "Remove new r.li configuration file?" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:274 +#: ../gui/wxpython/rlisetup/frame.py:270 #, python-format msgid "Set the new name for %s \" \"configuration file" msgstr "" -#: ../gui/wxpython/rlisetup/frame.py:278 +#: ../gui/wxpython/rlisetup/frame.py:274 msgid "Rename configuration file" msgstr "" @@ -13056,122 +13427,122 @@ msgid "Do you want to cancel dataset download?" msgstr "" #: ../gui/wxpython/timeline/frame.py:43 -msgid "The Timeline Tool needs the \"matplotlib\" (python-matplotlib and on some systems also python-matplotlib-wx) package(s) to be installed. {}" +msgid "The Timeline Tool needs the \"matplotlib\" (python-matplotlib and on some systems also python-matplotlib-wx) package(s) to be installed." msgstr "" -#: ../gui/wxpython/timeline/frame.py:76 +#: ../gui/wxpython/timeline/frame.py:77 msgid "Timeline Tool" msgstr "" -#: ../gui/wxpython/timeline/frame.py:141 ../gui/wxpython/tplot/frame.py:403 +#: ../gui/wxpython/timeline/frame.py:142 ../gui/wxpython/tplot/frame.py:404 msgid "Help" msgstr "" -#: ../gui/wxpython/timeline/frame.py:144 +#: ../gui/wxpython/timeline/frame.py:145 msgid "3D plot of spatio-temporal extents" msgstr "" -#: ../gui/wxpython/timeline/frame.py:149 +#: ../gui/wxpython/timeline/frame.py:150 msgid "3D plot of spatio-temporal extents (matplotlib >= 1.0.0)" msgstr "" -#: ../gui/wxpython/timeline/frame.py:155 +#: ../gui/wxpython/timeline/frame.py:156 msgid "Select space time dataset(s):" msgstr "" -#: ../gui/wxpython/timeline/frame.py:185 ../gui/wxpython/tplot/frame.py:434 -#: ../gui/wxpython/tplot/frame.py:569 +#: ../gui/wxpython/timeline/frame.py:186 ../gui/wxpython/tplot/frame.py:435 +#: ../gui/wxpython/tplot/frame.py:570 #, python-format msgid "Dataset <%s> not found in temporal database" msgstr "" -#: ../gui/wxpython/timeline/frame.py:201 ../gui/wxpython/tplot/frame.py:455 -#: ../gui/wxpython/tplot/frame.py:593 +#: ../gui/wxpython/timeline/frame.py:202 ../gui/wxpython/tplot/frame.py:456 +#: ../gui/wxpython/tplot/frame.py:594 msgid "Datasets have different temporal type (absolute x relative), which is not allowed." msgstr "" -#: ../gui/wxpython/timeline/frame.py:222 ../gui/wxpython/tplot/frame.py:477 -#: ../gui/wxpython/tplot/frame.py:606 +#: ../gui/wxpython/timeline/frame.py:223 ../gui/wxpython/tplot/frame.py:478 +#: ../gui/wxpython/tplot/frame.py:607 msgid "Datasets have different time unit which is not allowed." msgstr "" -#: ../gui/wxpython/timeline/frame.py:244 +#: ../gui/wxpython/timeline/frame.py:245 #, python-brace-format msgid "Dataset <{name}> is empty" msgstr "" -#: ../gui/wxpython/timeline/frame.py:301 +#: ../gui/wxpython/timeline/frame.py:302 #, python-format msgid "X [%s]" msgstr "" -#: ../gui/wxpython/timeline/frame.py:302 +#: ../gui/wxpython/timeline/frame.py:303 #, python-format msgid "Y [%s]" msgstr "" -#: ../gui/wxpython/timeline/frame.py:304 +#: ../gui/wxpython/timeline/frame.py:305 msgid "X" msgstr "" -#: ../gui/wxpython/timeline/frame.py:305 +#: ../gui/wxpython/timeline/frame.py:306 msgid "Y" msgstr "" -#: ../gui/wxpython/timeline/frame.py:384 ../gui/wxpython/tplot/frame.py:741 +#: ../gui/wxpython/timeline/frame.py:385 ../gui/wxpython/tplot/frame.py:742 #, python-format msgid "Time [%s]" msgstr "" -#: ../gui/wxpython/timeline/frame.py:517 ../gui/wxpython/tplot/frame.py:1178 +#: ../gui/wxpython/timeline/frame.py:518 ../gui/wxpython/tplot/frame.py:1179 #, python-format msgid "Please specify the space time dataset <%s>." msgstr "" -#: ../gui/wxpython/timeline/frame.py:518 ../gui/wxpython/tplot/frame.py:1179 +#: ../gui/wxpython/timeline/frame.py:519 ../gui/wxpython/tplot/frame.py:1180 msgid "Ambiguous dataset name" msgstr "" -#: ../gui/wxpython/timeline/frame.py:609 ../gui/wxpython/tplot/frame.py:1355 +#: ../gui/wxpython/timeline/frame.py:610 ../gui/wxpython/tplot/frame.py:1356 #, python-format msgid "Space time raster dataset: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:611 ../gui/wxpython/tplot/frame.py:1357 +#: ../gui/wxpython/timeline/frame.py:612 ../gui/wxpython/tplot/frame.py:1358 #, python-format msgid "Space time vector dataset: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:613 ../gui/wxpython/tplot/frame.py:1359 +#: ../gui/wxpython/timeline/frame.py:614 ../gui/wxpython/tplot/frame.py:1360 #, python-format msgid "Space time 3D raster dataset: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:617 +#: ../gui/wxpython/timeline/frame.py:618 #, python-format msgid "Mapset: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:618 +#: ../gui/wxpython/timeline/frame.py:619 #, python-format msgid "Map name: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:619 +#: ../gui/wxpython/timeline/frame.py:620 #, python-format msgid "Start time: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:620 +#: ../gui/wxpython/timeline/frame.py:621 #, python-format msgid "End time: %s" msgstr "" -#: ../gui/wxpython/timeline/frame.py:625 +#: ../gui/wxpython/timeline/frame.py:626 msgid "WARNING: invalid topology" msgstr "" -#: ../gui/wxpython/timeline/frame.py:627 +#: ../gui/wxpython/timeline/frame.py:628 msgid "" "\n" "Press Del to dismiss." @@ -13182,171 +13553,170 @@ msgid "Timeline Tool - GRASS" msgstr "" #: ../gui/wxpython/tplot/frame.py:47 -#, python-brace-format -msgid "The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed. {0}" +msgid "The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed." msgstr "" -#: ../gui/wxpython/tplot/frame.py:103 +#: ../gui/wxpython/tplot/frame.py:104 msgid "Temporal Plot Tool" msgstr "" -#: ../gui/wxpython/tplot/frame.py:191 +#: ../gui/wxpython/tplot/frame.py:192 msgid "" "Raster temporal dataset (strds)\n" "Press ENTER after typing the name or select with the combobox" msgstr "" -#: ../gui/wxpython/tplot/frame.py:208 +#: ../gui/wxpython/tplot/frame.py:209 msgid "X and Y coordinates separated by comma:" msgstr "" -#: ../gui/wxpython/tplot/frame.py:225 +#: ../gui/wxpython/tplot/frame.py:226 msgid "Coordinates can be obtained for example by right-clicking on Map Display." msgstr "" -#: ../gui/wxpython/tplot/frame.py:232 ../gui/wxpython/tplot/frame.py:298 +#: ../gui/wxpython/tplot/frame.py:233 ../gui/wxpython/tplot/frame.py:299 msgid "Show simple linear regression line" msgstr "" -#: ../gui/wxpython/tplot/frame.py:248 +#: ../gui/wxpython/tplot/frame.py:249 msgid "STRDS" msgstr "" -#: ../gui/wxpython/tplot/frame.py:256 +#: ../gui/wxpython/tplot/frame.py:257 msgid "" "Vector temporal dataset (stvds)\n" "Press ENTER after typing the name or select with the combobox" msgstr "" -#: ../gui/wxpython/tplot/frame.py:276 +#: ../gui/wxpython/tplot/frame.py:277 msgid "Select attribute column" msgstr "" -#: ../gui/wxpython/tplot/frame.py:293 +#: ../gui/wxpython/tplot/frame.py:294 msgid "Select category of vector(s)" msgstr "" -#: ../gui/wxpython/tplot/frame.py:317 +#: ../gui/wxpython/tplot/frame.py:318 msgid "STVDS" msgstr "" -#: ../gui/wxpython/tplot/frame.py:324 +#: ../gui/wxpython/tplot/frame.py:325 msgid "Set title for the plot" msgstr "" -#: ../gui/wxpython/tplot/frame.py:334 +#: ../gui/wxpython/tplot/frame.py:335 msgid "Set label for X axis" msgstr "" -#: ../gui/wxpython/tplot/frame.py:344 +#: ../gui/wxpython/tplot/frame.py:345 msgid "Set label for Y axis" msgstr "" -#: ../gui/wxpython/tplot/frame.py:360 +#: ../gui/wxpython/tplot/frame.py:361 msgid "Labels" msgstr "" -#: ../gui/wxpython/tplot/frame.py:367 +#: ../gui/wxpython/tplot/frame.py:368 msgid "Path for output CSV file with plotted data" msgstr "" -#: ../gui/wxpython/tplot/frame.py:374 +#: ../gui/wxpython/tplot/frame.py:375 msgid "CVS path" msgstr "" -#: ../gui/wxpython/tplot/frame.py:382 +#: ../gui/wxpython/tplot/frame.py:383 msgid "Do you want the CSV header?" msgstr "" -#: ../gui/wxpython/tplot/frame.py:421 ../gui/wxpython/tplot/frame.py:1056 -#: ../gui/wxpython/tplot/frame.py:1063 ../gui/wxpython/tplot/frame.py:1092 -#: ../gui/wxpython/tplot/frame.py:1251 +#: ../gui/wxpython/tplot/frame.py:422 ../gui/wxpython/tplot/frame.py:1057 +#: ../gui/wxpython/tplot/frame.py:1064 ../gui/wxpython/tplot/frame.py:1093 +#: ../gui/wxpython/tplot/frame.py:1252 msgid "Invalid input coordinates" msgstr "" -#: ../gui/wxpython/tplot/frame.py:524 +#: ../gui/wxpython/tplot/frame.py:525 #, python-brace-format msgid "Category {ca} is not on vector map {ma} and it will be not used" msgstr "" -#: ../gui/wxpython/tplot/frame.py:546 +#: ../gui/wxpython/tplot/frame.py:547 msgid "Both coordinates and categories are set, coordinates will be used. The use categories remove text from coordinate form" msgstr "" -#: ../gui/wxpython/tplot/frame.py:556 +#: ../gui/wxpython/tplot/frame.py:557 msgid "With Vector temporal dataset you have to select an attribute column" msgstr "" -#: ../gui/wxpython/tplot/frame.py:626 +#: ../gui/wxpython/tplot/frame.py:627 msgid "Difference number of vector layers and maps in the vector temporal dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:670 +#: ../gui/wxpython/tplot/frame.py:671 #, python-brace-format msgid "No connection between vector map {vmap} and layer {la}" msgstr "" -#: ../gui/wxpython/tplot/frame.py:739 +#: ../gui/wxpython/tplot/frame.py:740 #, python-format msgid "Temporal resolution: %s" msgstr "" -#: ../gui/wxpython/tplot/frame.py:855 +#: ../gui/wxpython/tplot/frame.py:856 msgid "Problem getting data from raster temporal dataset. Empty list of values." msgstr "" -#: ../gui/wxpython/tplot/frame.py:914 +#: ../gui/wxpython/tplot/frame.py:915 #, python-brace-format msgid "Problem getting data from vector temporal dataset. Empty list of values for cat {ca}." msgstr "" -#: ../gui/wxpython/tplot/frame.py:971 +#: ../gui/wxpython/tplot/frame.py:972 msgid "Problem getting data from vector temporal dataset. Empty list of values." msgstr "" -#: ../gui/wxpython/tplot/frame.py:1006 +#: ../gui/wxpython/tplot/frame.py:1007 #, python-brace-format msgid "{pa} already exists, do you want to overwrite?" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1009 +#: ../gui/wxpython/tplot/frame.py:1010 msgid "File exists" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1017 +#: ../gui/wxpython/tplot/frame.py:1018 msgid "Please change name of output CSV file or " msgstr "" -#: ../gui/wxpython/tplot/frame.py:1045 +#: ../gui/wxpython/tplot/frame.py:1046 msgid "Incorrect coordinates format, should be: x,y" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1071 +#: ../gui/wxpython/tplot/frame.py:1072 msgid "Seed point outside the current region" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1085 +#: ../gui/wxpython/tplot/frame.py:1086 msgid "Invalid input raster dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1108 +#: ../gui/wxpython/tplot/frame.py:1109 msgid "Invalid input vector dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1241 ../gui/wxpython/tplot/frame.py:1305 +#: ../gui/wxpython/tplot/frame.py:1242 ../gui/wxpython/tplot/frame.py:1306 msgid "Invalid input temporal dataset" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1329 +#: ../gui/wxpython/tplot/frame.py:1330 msgid "Datasets have different number of values" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1362 +#: ../gui/wxpython/tplot/frame.py:1363 #, python-brace-format msgid "Value for {date} is {val}" msgstr "" -#: ../gui/wxpython/tplot/frame.py:1364 +#: ../gui/wxpython/tplot/frame.py:1365 msgid "Press Del to dismiss." msgstr ""