[Thuban-commits] r2820 - in branches/WIP-pyshapelib-Unicode/thuban: . Doc/manual Extensions/bboxdump Extensions/export_shapefile Extensions/gns2shp Extensions/importAPR Extensions/ogr Extensions/svgexport Extensions/umn_mapserver Extensions/wms Thuban Thuban/UI packaging/windows po

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Tue Jan 29 20:09:44 CET 2008


Author: bramz
Date: 2008-01-29 20:08:21 +0100 (Tue, 29 Jan 2008)
New Revision: 2820

Added:
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/thuban_cfg.py
Modified:
   branches/WIP-pyshapelib-Unicode/thuban/ChangeLog
   branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual-de.xml
   branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual.xml
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/bboxdump/bboxdump.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/export_shapefile/export_shapefile.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/gns2shp/gns2shp.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/importAPR/importAPR.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/__init__.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrdialog.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrstart.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/maplegend.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/svgsaver.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/__init__.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_export.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_handle.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_import.py
   branches/WIP-pyshapelib-Unicode/thuban/Extensions/wms/infodialog.py
   branches/WIP-pyshapelib-Unicode/thuban/NEWS
   branches/WIP-pyshapelib-Unicode/thuban/README
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/application.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classgen.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classifier.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/mainwindow.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/projdialog.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/tableview.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/view.py
   branches/WIP-pyshapelib-Unicode/thuban/Thuban/version.py
   branches/WIP-pyshapelib-Unicode/thuban/packaging/windows/thubanstart.py
   branches/WIP-pyshapelib-Unicode/thuban/po/Makefile
   branches/WIP-pyshapelib-Unicode/thuban/po/de.po
   branches/WIP-pyshapelib-Unicode/thuban/po/es.po
   branches/WIP-pyshapelib-Unicode/thuban/po/fr.po
   branches/WIP-pyshapelib-Unicode/thuban/po/hu.po
   branches/WIP-pyshapelib-Unicode/thuban/po/it.po
   branches/WIP-pyshapelib-Unicode/thuban/po/pt_BR.po
   branches/WIP-pyshapelib-Unicode/thuban/po/ru.po
Log:
Forward porting trunk r(2807:2819] to WIP-pyshapelib-Unicode branch

Modified: branches/WIP-pyshapelib-Unicode/thuban/ChangeLog
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/ChangeLog	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/ChangeLog	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,3 +1,121 @@
+2008-01-29	Bram de Greve <bram.degreve at bramz.net>
+
+	* Forward porting trunk (2807:2819] to WIP-pyshapelib-Unicode branch.
+
+2008-01-29 Bernhard Reiter <bernhard at intevation.de>
+
+	* NEWS: Updated changes up to upcoming release 1.2.1.
+
+2008-01-28 Bernhard Reiter <bernhard at intevation.de>
+
+	Updated German translation.
+
+	*  Extensions/svgexport/svgsaver.py,
+	Extensions/umn_mapserver/mf_handle.py,  Extensions/wms/infodialog.py:
+	Fixed small typo.
+
+	* po/*.po: Updated (three small typos)
+
+	* po/de.po: Brought translation uptodate.
+
+2008-01-27   Bernhard Reiter <bernhard at intevation.de>
+
+	Changed a few places in Thuban and Extensions to convert wx
+	strings to internal string encoding. 
+
+	* Thuban/UI/classgen.py: Checked for return strings from wx problems.
+	Added one clarifing comment, removed two unused variables.
+
+	* Thuban/UI/mainwindow.py(OpenSession, SaveSessionAs, TableOpen): Using 
+	internal_from_wxstring for the pathname.
+
+	* Thuban/UI/tableview.py(doExport):  Using internal_from_wxstring
+	for the pathname.
+
+	* Thuban/UI/view.py(MapCanvas.Export):  Using internal_from_wxstring
+	for the pathname.
+
+	* Extensions/bboxdump/bboxdump.py(OnSelectFilename),
+	Extensions/export_shapefile/export_shapefile.py,
+	Extensions/gns2shp/gns2shp.py, Extensions/importAPR/importAPR.py,
+	Extensions/svgexport/maplegend.py, Extensions/svgexport/svgsaver.py,
+	Extensions/umn_mapserver/mf_import.py: Using
+	internal_from_wxstring for the pathname.
+
+2008-01-26   Bernhard Reiter <bernhard at intevation.de>
+	
+	Fixed projection dialog so you can set [#586].
+	(Part of the problems that arise with wx returning unicode.)
+
+	* Thuban/UI/projdialog.py: translating filenames from dlg.GetPaths()
+	and dlg.GetPath() to internal encoding using internal_from_wxstring().
+	This fixes #586 (projection exception when changing projection).
+	Using variable "path" in ProjFrame:_OnImport() more consistently.
+	(__GetProjection): Using internal_from_wxstring() for the
+	project parameters.
+
+2008-01-21   Didrik Pinte <dpinte at itae.be>
+
+	Updated fr.po to support Extensions localised strings
+
+	* po/fr.po: Some translations
+
+2008-01-19   Bernhard Reiter <bernhard at intevation.de>
+
+	Strings in the Extensions are now also localised.
+
+	* Extensions/umn_mapserver/mf_import.py,
+	Extensions/umn_mapserver/mf_handle.py,
+	Extensions/umn_mapserver/__init__.py,
+	Extensions/umn_mapserver/mf_export.py, Extensions/ogr/__init__.py,
+	Extensions/ogr/ogrdialog.py: Changed encoding from latin-1 to
+	iso-8859-15 because the xgettext Debian Version: 0.16.1-2 does not
+	recognise "latin-1".
+
+	* po/Makefile: Added the toplevel files of the Extensions 
+	to be considered as POT sources.
+
+	* po/*.po: Updated with a lot of strings from the Extensions.
+	
+	* po/de.po: Some translations.
+
+2008-01-19   Bernhard Reiter <bernhard at intevation.de>
+
+	New installation wide configuration file thuban_cfg.py which by
+	default tries to import all interesting Extensions coming with Thuban.
+
+	Extentions are now all under the menu entry with the same name,
+	their maturity will be indicated by leading string in the menu text.
+
+	* Thuban/versions.py(verify_versions): Updated reference revisions 
+	for checking the loaded libraries according to the README.
+
+	* Thuban/UI/application.py: Started using the logging module for
+	error message and runtime information.
+	(read_startup_files): Trying to read new site wide startup file
+	Thuban/thuban_cfg.py.
+
+	* Thuban/thuban_cfg.py: New. Tries to import each interesting
+	Extension (in a non-elegant way).
+
+	* packaging/windows/thubanstart.py: Disabled import of default
+	extensions as this is done in thuban_cfg.py now.
+
+	* README: Mentioned thuban_cfg.py instead of the ugly method
+	of thubanstart.py for each user's home directory.
+
+	*  Extensions/export_shapefile/export_shapefile.py,
+	Extensions/importAPR/importAPR.py: Moved them under "Extensions" menu,
+	but marked them "(experimental) " in the menu entry text. Bumped
+	copyright to include 2008.
+
+	* Extensions/ogr/ogrstart.py: Separated the "(testing) " marking
+	string from the rest of the menu entry.
+
+	*  Doc/manual/thuban-manual.xml: Updated manual to include
+	thuban_cfg.py and different handling of Extensions. Bumped copyright
+	to include 2008.
+
 2008-01-17   Bram de Greve <bram.degreve at bramz.net>
 
 	* setup.py: updated for pyshapelib

Modified: branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual-de.xml
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual-de.xml	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual-de.xml	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1750,7 +1750,7 @@
 
 	<section><title>Eigene Erweiterungen über thubanstart.py</title>
 		<para>
-		iNachdem Thuban zum ersten mal gestartet wurde, wird
+		Nachdem Thuban zum ersten mal gestartet wurde, wird
 		ein Verzeichnis .thuban im Heimatverzeichnis des
 		Benutzers erzeugt.
 		Dort kann die Datei thubanstart.py angelegt werden,

Modified: branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual.xml
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual.xml	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Doc/manual/thuban-manual.xml	2008-01-29 19:08:21 UTC (rev 2820)
@@ -19,7 +19,7 @@
       </author>
 	</authorgroup>
     <copyright>
-      <year>2003, 2004, 2005, 2006, 2007</year>
+      <year>2003, 2004, 2005, 2006, 2007, 2008</year>
       <holder>Intevation GmbH</holder>
     </copyright>
    <revhistory>
@@ -32,6 +32,13 @@
      </revision>
 -->
      <revision>
+        <revnumber>1.2.1</revnumber>
+        <date>19-Jan-2008</date>
+        <revremark>
+		Extensions are handled slightly differently with Thuban 1.2.1.
+	</revremark>
+     </revision>
+     <revision>
         <revnumber>1.2.0</revnumber>
         <date>20-Feb-2007</date>
         <revremark>
@@ -1393,15 +1400,19 @@
 	<section><title>Extensions included in Thuban package</title>
 		<para>
 		The extensions described in this section are part of the
-		Thuban package, but not activated by default.
-		You will find them in the Thuban installation directory
-		under <literal>Extensions/</literal>. Activate them as personal
-		extensions via PYTHONPATH as described in the previous section.
-		Stable extensions will appear under the menu
+		Thuban package. Since version 1.2.1, Thuban will attempt
+		to import all interesting extensions. The administrator can
+		configure this for the installation in the file thuban_cfg.py.
+
+		You will find the code of the extentions in the Thuban 
+		installation directory under <literal>Extensions/</literal>. 
+		If they are not imported by thuban_cfg.py you can activate
+		them as personal personal extensions 
+		via PYTHONPATH as described in the previous section.
+		Extensions will appear under the menu
 		<menuchoice><guimenu>Extensions</guimenu></menuchoice> and
- 		extensions which are in experimental state and therefore
-		not fully functional under
-		<menuchoice><guimenu>Experimental</guimenu></menuchoice>.
+ 		extensions which are in the state of being experimental 
+		or testing will be indicated as such in their menu entry text.
 		</para>
 
 		<section><title>Stable extensions</title>

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/bboxdump/bboxdump.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/bboxdump/bboxdump.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/bboxdump/bboxdump.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -23,10 +23,12 @@
 import wx
 from wx.lib.dialogs import ScrolledMessageDialog
 
+from Thuban import _
+
+from Thuban.UI import internal_from_wxstring
 from Thuban.UI.common import ThubanBeginBusyCursor, ThubanEndBusyCursor
 from Thuban.UI.command import registry, Command
 from Thuban.UI.mainwindow import main_menu, _has_selected_shape_layer
-from Thuban import _
 
 import shapelib
 import dbflib
@@ -139,7 +141,7 @@
                        _("All Files (*.*)|*.*"),
                        wx.SAVE|wx.OVERWRITE_PROMPT)
         if dlg.ShowModal() == wx.ID_OK:
-            self.filename.SetValue(dlg.GetPath())
+            self.filename.SetValue(internal_from_wxstring(dlg.GetPath()))
             dlg.Destroy()
         else:
             dlg.Destroy()

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/export_shapefile/export_shapefile.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/export_shapefile/export_shapefile.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/export_shapefile/export_shapefile.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 by Intevation GmbH
+# Copyright (C) 2005, 2008 by Intevation GmbH
 # Authors:
 # Jan-Oliver Wagner <jan at intevation.de> (2005)
 #
@@ -20,6 +20,7 @@
 from Thuban.Model.data import SHAPETYPE_POLYGON, SHAPETYPE_ARC, \
                               SHAPETYPE_POINT
 from Thuban.Model.table import table_to_dbf
+from Thuban.UI import internal_from_wxstring
 from Thuban.UI.command import registry, Command
 from Thuban.UI.mainwindow import main_menu
 from Thuban import _
@@ -45,7 +46,7 @@
                        _('Shapefile  Files (*.shp)|*.shp|'),
                        OPEN|OVERWRITE_PROMPT)
     if dlg.ShowModal() == ID_OK:
-        filename = dlg.GetPath()[:-4]
+        filename = internal_from_wxstring(dlg.GetPath()[:-4])
         dlg.Destroy()
     else:
         return
@@ -87,13 +88,13 @@
 
 
 # register the new command
-registry.Add(Command('ExportShapefile', _('Export Layer as Shapefile ...'),
+registry.Add(Command('ExportShapefile',  _("(experimental) ")+ _('Export Layer as Shapefile ...'),
                      ExportLayerAsShapefile,
                      helptext = _('Export the active layer as a Shapefile')))
 
-# find the experimental menu (create it anew if not found)
-experimental_menu = main_menu.FindOrInsertMenu("experimental", \
-                                              _("Experimenta&l"))
+# find the entension menu (create it anew if not found)
+extensions_menu = main_menu.FindOrInsertMenu('extensions',
+                                               _('E&xtensions'))
 
-# finally add the new entry to the extensions menu
-experimental_menu.InsertItem('ExportShapefile')
+# finally add the new entry to the menu
+extensions_menu.InsertItem('ExportShapefile')

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/gns2shp/gns2shp.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/gns2shp/gns2shp.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/gns2shp/gns2shp.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -27,6 +27,7 @@
 if __name__ != '__main__':
     import wx
 
+    from Thuban.UI import internal_from_wxstring
     from Thuban.UI.command import registry, Command
     from Thuban.UI.mainwindow import main_menu
     from Thuban import _
@@ -129,7 +130,7 @@
                        _('All Files (*.*)|*.*'),
                        wx.OPEN|wx.OVERWRITE_PROMPT)
     if dlg.ShowModal() == wx.ID_OK:
-        gns_filename = dlg.GetPath()
+        gns_filename = internal_from_wxstring(dlg.GetPath())
         dlg.Destroy()
     else:
         return

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/importAPR/importAPR.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/importAPR/importAPR.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/importAPR/importAPR.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2005 by Intevation GmbH
+# Copyright (C) 2003-2005, 2008 by Intevation GmbH
 # Authors:
 # Jan-Oliver Wagner <jan at intevation.de> (2003, 2004)
 #
@@ -22,6 +22,7 @@
 
 from Thuban.Model.extension import Extension
 from Thuban.Model.base import TitledObject, Modifiable
+from Thuban.UI import internal_from_wxstring
 from Thuban.UI.command import registry, Command
 from Thuban.UI.mainwindow import main_menu
 from Thuban import _
@@ -171,7 +172,7 @@
                        _("All Files (*.*)|*.*"),
                        wx.OPEN|wx.OVERWRITE_PROMPT)
     if dlg.ShowModal() == wx.ID_OK:
-        filename = dlg.GetPath()
+        filename = internal_from_wxstring(dlg.GetPath())
         dlg.Destroy()
     else:
         return
@@ -327,12 +328,12 @@
 apr_import_extension = ODBExtension('APR Import')
 
 # register the new command
-registry.Add(Command('import-apr', _('Import apr-file...'), import_apr_dialog,
+registry.Add(Command('import-apr', _("(experimental) ")+_('Import apr-file...'), import_apr_dialog,
                          helptext = _('Import a ArcView project file')))
 
-# find the experimental menu (create it anew if not found)
-experimental_menu = main_menu.FindOrInsertMenu('experimental',
-                                               _('Experimenta&l'))
+# find the extension menu (create it anew if not found)
+extensions_menu = main_menu.FindOrInsertMenu('extensions',
+                                               _('E&xtensions'))
 
-# finally add the new entry to the experimental menu
-experimental_menu.InsertItem('import-apr')
+# finally add the new entry to the menu
+extensions_menu.InsertItem('import-apr')

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/__init__.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/__init__.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/__init__.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# Copyright (C) 2004 by Intevation GmbH     vim:encoding=latin-1:
+# Copyright (C) 2004 by Intevation GmbH     vim:encoding=iso-8859-15:
 # Authors:
 # Nina Hüffmeyer <nhueffme at intevation.de>
 #

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrdialog.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrdialog.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrdialog.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# Copyright (c) 2001, 2003, 2004 by Intevation GmbH     vim:encoding=latin-1:
+# Copyright (c) 2001, 2003, 2004 by Intevation GmbH vim:encoding=iso-8859-15:
 # Authors:
 # Martin Müller <mmueller at intevation.de>
 # Bernhard Herzog <bh at intevation.de>

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrstart.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrstart.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/ogr/ogrstart.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# Copyright (c) 2004,2006,2007 by Intevation GmbH    vim:encoding=latin-1:
+# Copyright (c) 2004,2006,2007 by Intevation GmbH    vim:encoding=iso-8859-15:
 # Authors:
 # Nina Hüffmeyer <nhueffme at intevation.de>
 #
@@ -201,7 +201,7 @@
 #ogr_menu = Menu("ogr", _("Open layer via OGR"),[])
 # as long as there we are not stable, better add to "Extentions" marked "beta"
 map_menu = main_menu.FindOrInsertMenu('extensions', _('E&xtensions'))
-ogr_menu = Menu("ogr", _("(testing) Open layer via OGR"),[])
+ogr_menu = Menu("ogr", _("(testing) ") + _("Open layer via OGR"),[])
 
 
 ogrsupport = ogrshapes.has_ogr_support()

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/maplegend.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/maplegend.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/maplegend.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -32,6 +32,8 @@
 from Thuban.Model.data import SHAPETYPE_POLYGON, SHAPETYPE_ARC, \
     SHAPETYPE_POINT, RAW_SHAPEFILE
 
+from Thuban.UI import internal_from_wxstring
+
 # Import SVG related classes
 from svgmapwriter import SVGRenderer, VirtualDC, TRANSPARENT_PEN, \
         TRANSPARENT_BRUSH, SOLID, Pen, Brush, Point
@@ -138,7 +140,7 @@
     #
     response = dlg.ShowModal()
     if response == ID_OK:
-        file = dlg.GetPath()
+        file = internal_from_wxstring(dlg.GetPath())
     else: # Do nothing if choice was interrupted.
         return 0
         

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/svgsaver.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/svgsaver.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/svgexport/svgsaver.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -27,6 +27,7 @@
 
 # use _() already now for all strings that may later be translated
 from Thuban import _
+from Thuban.UI import internal_from_wxstring
 
 # Import SVG related classes
 from svgmapwriter import VirtualDC, SVGRenderer, SVGMapWriterError
@@ -52,7 +53,7 @@
     
     response = dlg.ShowModal()
     if response == ID_OK:
-        file = dlg.GetPath()
+        file = internal_from_wxstring(dlg.GetPath())
     else: # Do nothing if choice was interrupted.
         return 0
         
@@ -97,7 +98,7 @@
 
 # create a new command and register it
 registry.Add(Command('write_to_svg', _('Write SVG Map'), write_to_svg,
-                     helptext = _('Export the a map into a SVG file')))
+                     helptext = _('Export the map into an SVG file')))
 
 # find the menu we want to be in (create it anew if not found)
 menu = main_menu.FindOrInsertMenu('extensions', _('E&xtensions'))

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/__init__.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/__init__.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/__init__.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# -*- coding:latin1 -*-
+# -*- coding:iso-8859-15 -*-
 # Copyright (C) 2004 by Intevation GmbH
 # Authors:
 # Jan Schüngel <jschuengel at intevation.de> (2004)

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_export.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_export.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_export.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,5 +1,5 @@
 # Copyright (C) 2004 by Intevation GmbH
-# -*- coding:latin1 -*-
+# -*- coding:iso-8859-15 -*-
 # Authors:
 # Jan Schüngel <jschuengel at intevation.de>
 #

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_handle.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_handle.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_handle.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# -*- coding:latin1 -*-
+# -*- coding:iso-8859-15 -*-
 # Copyright (C) 2004 by Intevation GmbH
 # Authors:
 # Jan Schüngel <jschuengel at intevation.de>
@@ -1377,7 +1377,7 @@
 # register the new command (Layer Settings Dialog)
 registry.Add(Command("Layer Settings", _("Layer"),
                      layersettings,
-                     helptext = _("Edit the Layer Setting of the aktive Layer"), \
+                     helptext = _("Edit the Layer Setting of the active Layer"), \
                      sensitive = _has_umn_mapobj_and_selectedlayer))
 # finally add the new entry to the extensions menu
 mapserver_edit_menu.InsertItem("Layer Settings")

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_import.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_import.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/umn_mapserver/mf_import.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# -*- coding:latin1 -*-
+# -*- coding:iso-8859-15 -*-
 # Copyright (C) 2004 by Intevation GmbH
 # Authors:
 # Jan Schüngel <jschuengel at intevation.de>
@@ -35,6 +35,8 @@
 # use _() already now for all strings that may later be translated
 from Thuban import _
 
+from Thuban.UI import internal_from_wxstring
+
 # Thuban has named commands which can be registered in the central
 # instance registry.
 from Thuban.UI.command import registry, Command
@@ -533,7 +535,7 @@
                        _("All Files (*.*)|*.*"),
                        OPEN|OVERWRITE_PROMPT)
     if dlg.ShowModal() == ID_OK:
-        filename = dlg.GetPath()
+        filename = internal_from_wxstring(dlg.GetPath())
         dlg.Destroy()
     else:
         return
@@ -567,7 +569,7 @@
                        _("All Files (*.*)|*.*"),
                        OPEN|OVERWRITE_PROMPT)
     if dlg.ShowModal() == ID_OK:
-        filename = dlg.GetPath()
+        filename = internal_from_wxstring(dlg.GetPath())
         dlg.Destroy()
     else:
         return
@@ -633,7 +635,7 @@
                            _("All Files (*.*)|*.*"),
                            OPEN|OVERWRITE_PROMPT)
         if dlg.ShowModal() == ID_OK:
-            filename = dlg.GetPath()
+            filename = internal_from_wxstring(dlg.GetPath())
             dlg.Destroy()
         else:
             return

Modified: branches/WIP-pyshapelib-Unicode/thuban/Extensions/wms/infodialog.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Extensions/wms/infodialog.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Extensions/wms/infodialog.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -110,7 +110,7 @@
 
         foo = layer.capabilities.getAccessConstraints()
         if foo != "":
-            text += _("Acces Constraints:") + "\n\n" + foo + "\n\n"
+            text += _("Access Constraints:") + "\n\n" + foo + "\n\n"
 
         text += "URL: " + layer.url
 

Modified: branches/WIP-pyshapelib-Unicode/thuban/NEWS
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/NEWS	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/NEWS	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,17 +1,65 @@
 
-Changes up to Thuban 1.2-SVN (not released yet)
-============================
+Changes up to Thuban 1.2.1 (released 2008-)
+===========================
+ - Rendering: Thuban's accelerated shapefile renderer is now 
+   robust against shapefiles which contain empty shapes.
 
+ - Text Encoding: Progress to make Thuban run better with different encodings
+   and locales.  (Bernhard Reiter)
+
+   + The class generator selector will work even in other languages.
+     (Reported by Samuel Mesa)
+   + Layer titles from filenames are saved in the correct encoding, so
+     strings can be assembled from them, e.g. for the Layer Projection dialog.
+     (Reported by Samuel Mesa)
+   + Fixed [#586] (projection exception when changing projection) 
+     (Reported by Stefanie Gunkel)
+
+ - PostGIS support: Migrated from psycopg1 to psycopg2 (Didrik Pinte)
+   Now UTF8 environments are better supported.
+
+ - Windows packaging improved. Also it got easier to make a windows package
+   that inclused everything. (Didrik Pinte)
+
+ - move to wxPython 2.6 completed (Didrik Pinte)
+
  - Using the alpha channel for displaying raster images all the time.
-   There is no selection possibility anymore for "masktype".
+   There is no selection possibility anymore for "masktype". (Bernhard Reiter)
 
- INCOMPATIBLE with Thuban 1.1 (development series) and 1.2.0:
- Ignoring the saved masktype in .thuban files, using "alpha" in all cases.
- With wx2.6 there is no need for other mask types anymore. Doing this
- change fixes a problem on the windows platform, where masktype=bit did
- not work so far.
+   INCOMPATIBLE with Thuban 1.1 (development series) and 1.2.0:
+   Ignoring the saved masktype in .thuban files, using "alpha" in all cases.
+   With wx2.6 there is no need for other mask types anymore. Doing this
+   change fixes a problem on the windows platform, where masktype=bit did
+   not work so far.
 
+ - Translation updates
+   + Extensions are now localised as well (Bernhard Reiter)
+   + German (Bernhard Reiter)
+   + French (Didrik Pinte, Daniel Calvelo)
+   + Spanish (Daniel Calvelo)
 
+ - Problem fixes:
+
+   + Fixed [#403] "can not add raster layer". Adds the ability to open more 
+     then one raster file from one open dialog by multiple selection.
+     Thanks to Jachym Cepicky and Bernhard Herzog. (Bernhard Reiter)
+
+   + Printing reenabled under some platforms. (Bernhard Reiter)
+
+ - Extensions (all Bernhard Reiter)
+
+   + ogr: Some fixes to make it work with encodings and database connections.
+
+   + wms: Some attemps to revive, but found out that PyOGClib is abandoned
+     and does not work anymore. Needs work.
+
+   + Extentions are now all under the menu entry with the same name,
+     their maturity will be indicated by leading string in the menu text. 
+
+   + New installation wide configuration file thuban_cfg.py which by
+     default tries to import all interesting Extensions coming with Thuban.
+
+
 Changes up to Thuban 1.2.0 (released 2007-03-13)
 ==========================
 
@@ -43,7 +91,7 @@
    to load all extensions on windows. (Didrik Pinte)
 
  - Updated code to support new style wxPython 2.6 imports. So
-   you need at least wyPython 2.6 . (Didrik Pinte)
+   you need at least wxPython 2.6 . (Didrik Pinte)
 
  - New Classification "Pattern": Classify text attributes by regexp. 
    (Frank Koormann)

Modified: branches/WIP-pyshapelib-Unicode/thuban/README
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/README	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/README	2008-01-29 19:08:21 UTC (rev 2820)
@@ -118,10 +118,10 @@
 Releasenotes.txt and the Doc/technotes/release-process.txt 
 might also contain interesting hints.
 
-To make users see the power of Thuban's extensions we recommend to 
-enable all extensions coming with Thuban by default - even the 
-more experimental ones. One suboptimal approach would be 
-by a thubanstart.py file for the user's home directory.
+Since Thuban 1.2.1 there is a file thuban_cfg.py which can be used
+for the installation wide configuration of Thuban. By default it enables
+all interesting extensions. Administrators should edit this files to their
+need, e.g. when they want to not show some extensions by default.
 
 License
 -------

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/application.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/application.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/application.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -17,6 +17,8 @@
 
 import traceback
 
+import logging
+
 import wx
 
 from Thuban.Lib.connector import Publisher
@@ -95,7 +97,14 @@
 
     def read_startup_files(self):
         """Read the startup files."""
-        # for now the startup file is ~/.thuban/thubanstart.py
+
+        logging.info("Reading thuban_cfg.py file.")
+        try:
+            import Thuban.thuban_cfg
+        except:
+            logging.exception(_("Cannot import the thuban_cfg module."))
+
+        logging.info(_("Trying to read ~/.thuban/thubanstart.py."))
         dir = get_application_dir()
         if os.path.isdir(dir):
             sys.path.append(dir)

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classgen.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classgen.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classgen.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -227,7 +227,6 @@
 
             index = self.propCombo.GetSelection()
 
-            propSel = self.propCombo.GetString(index)
             propPanel = self.propCombo.GetClientData(index)
 
             ramp = propPanel.GetRamp()
@@ -311,7 +310,6 @@
         combo = event.GetEventObject()
 
         selIndex = combo.GetSelection()
-        sel = combo.GetString(selIndex)
 
         if isinstance(self.propPanel, wx.Panel):
             self.topBox.Show(self.propPanel, False)
@@ -796,6 +794,7 @@
 
     def __MoveListItem(self, index, list_src, list_dest):
 
+        # The following code is neutral regarding the type of the "String"s.
         item = list_src.GetItem(index)
 
         x = list_dest.InsertStringItem(

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classifier.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classifier.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/classifier.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -25,6 +25,7 @@
 from wx import grid
 
 from Thuban import _
+from Thuban.UI import internal_from_wxstring
 from Thuban.UI.common import Color2wxColour, wxColour2Color
 
 from Thuban.Model.messages import MAP_LAYERS_REMOVED, LAYER_SHAPESTORE_REPLACED
@@ -930,7 +931,7 @@
             fieldName = None
             fieldType = None
         else:
-            fieldName = self.fields.GetString(fieldIndex)
+            fieldName = internal_from_wxstring(self.fields.GetString(fieldIndex))
             fieldType = self.layer.GetFieldType(fieldName)
 
         clazz = self.fields.GetClientData(fieldIndex)
@@ -956,7 +957,7 @@
                     self.layer.GetClassification().
                                GetDefaultGroup().GetProperties()))
 
-        fieldName = self.fields.GetString(fieldIndex)
+        fieldName = internal_from_wxstring(self.fields.GetString(fieldIndex))
         fieldType = self.layer.GetFieldType(fieldName)
 
         self.classGrid.CreateTable(clazz, fieldType,
@@ -966,7 +967,7 @@
         """Set the field type string using the data type of the field
         at fieldIndex.
         """
-        fieldName = self.fields.GetString(fieldIndex)
+        fieldName = internal_from_wxstring(self.fields.GetString(fieldIndex))
         fieldType = self.layer.GetFieldType(fieldName)
 
         assert Classifier.type2string.has_key(fieldType)
@@ -1053,7 +1054,7 @@
         """Open up a dialog for the user to generate classifications."""
 
         self.genDlg = ClassGenDialog(self, self.layer,
-                          self.fields.GetString(self.__cur_field))
+              internal_from_wxstring(self.fields.GetString(self.__cur_field)))
 
         self.Bind(wx.EVT_CLOSE, self._OnGenDialogClose, self.genDlg)
 

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/mainwindow.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/mainwindow.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/mainwindow.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -470,9 +470,9 @@
                                "Thuban Session File (*.thuban)|*.thuban",
                                wx.OPEN)
             if dlg.ShowModal() == wx.ID_OK:
-                self.application.OpenSession(dlg.GetPath(),
-                                             self.run_db_param_dialog)
-                self.application.SetPath("data", dlg.GetPath())
+                path = internal_from_wxstring(dlg.GetPath())
+                self.application.OpenSession(path, self.run_db_param_dialog)
+                self.application.SetPath("data", path)
             dlg.Destroy()
 
     def run_db_param_dialog(self, parameters, message):
@@ -492,9 +492,10 @@
                            "Thuban Session File (*.thuban)|*.thuban",
                            wx.SAVE|wx.OVERWRITE_PROMPT)
         if dlg.ShowModal() == wx.ID_OK:
-            self.application.session.SetFilename(dlg.GetPath())
+            path = internal_from_wxstring(dlg.GetPath())
+            self.application.session.SetFilename(path)
             self.application.SaveSession()
-            self.application.SetPath("data",dlg.GetPath())
+            self.application.SetPath("data",path)
         dlg.Destroy()
 
     def Exit(self):
@@ -855,7 +856,7 @@
                            _("All Files (*.*)") + "|*.*",
                            wx.OPEN)
         if dlg.ShowModal() == wx.ID_OK:
-            filename = dlg.GetPath()
+            filename = internal_from_wxstring(dlg.GetPath())
             dlg.Destroy()
             try:
                 table = self.application.session.OpenTableFile(filename)

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/projdialog.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/projdialog.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/projdialog.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -24,6 +24,7 @@
                                   read_proj_file, write_proj_file, \
                                   DEFAULT_PROJ_FILE, EPSG_PROJ_FILE, \
                                   EPSG_DEPRECATED_PROJ_FILE
+from Thuban.UI import internal_from_wxstring
 from Thuban.UI.dialogs import NonModalNonParentDialog
 
 from common import ThubanBeginBusyCursor, ThubanEndBusyCursor
@@ -307,14 +308,14 @@
                 self.parent.application.Path("projection"), style = wx.OPEN)
 
         if dlg.ShowModal() == wx.ID_OK:
-            path = dlg.GetPath()
+            path = internal_from_wxstring(dlg.GetPath())
 
             ThubanBeginBusyCursor()
             try:
                 try:
                     projFile, warnings = read_proj_file(path)
                 except IOError, (errno, errstr):
-                    self.__ShowError(dlg.GetPath(), errstr)
+                    self.__ShowError(path, errstr)
                 else:
                     self.show_warnings(_("Warnings"), path, warnings)
                     for proj in projFile.GetProjections():
@@ -339,12 +340,13 @@
                 style=wx.SAVE|wx.OVERWRITE_PROMPT)
 
         if dlg.ShowModal() == wx.ID_OK:
-            proj_file = ProjFile(dlg.GetPath())
+            path = internal_from_wxstring(dlg.GetPath())
+            proj_file = ProjFile(path)
             for proj, pf in sel:
                 if proj is not None:
                     proj_file.Add(proj)
             self.write_proj_file(proj_file)
-            self.parent.application.SetPath("projection", dlg.GetPath())
+            self.parent.application.SetPath("projection", path)
 
         dlg.Destroy()
 
@@ -573,7 +575,8 @@
         # self.curProjPanel should always contain the most relevant data
         # for a projection
         if self.curProjPanel is not None:
-            parameters = self.curProjPanel.GetParameters()
+            parameters = \
+                map(internal_from_wxstring,self.curProjPanel.GetParameters())
             if parameters is not None:
                 return Projection(parameters, self.projname.GetValue())
 

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/tableview.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/tableview.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/tableview.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -21,6 +21,7 @@
 
 from messages import SHAPES_SELECTED, SESSION_REPLACED
 from Thuban.Model.messages import TABLE_REMOVED, MAP_LAYERS_REMOVED
+from Thuban.UI import internal_from_wxstring
 from Thuban.UI.common import ThubanBeginBusyCursor, ThubanEndBusyCursor
 
 wx_value_type_map = {FIELDTYPE_INT: grid.GRID_VALUE_NUMBER,
@@ -535,7 +536,7 @@
                            _("All Files (*.*)|*.*"),
                            wx.SAVE|wx.OVERWRITE_PROMPT)
         if dlg.ShowModal() == wx.ID_OK:
-            filename = dlg.GetPath()
+            filename = internal_from_wxstring(dlg.GetPath())
             type = os.path.basename(filename).split('.')[-1:][0]
             dlg.Destroy()
 

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/view.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/view.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/UI/view.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -30,6 +30,7 @@
 
 from Thuban.Model.messages import MAP_LAYERS_CHANGED, LAYER_CHANGED, \
      LAYER_VISIBILITY_CHANGED
+from Thuban.UI import internal_from_wxstring
 
 from renderer import ScreenRenderer, ExportRenderer, PrinterRenderer
 
@@ -286,8 +287,9 @@
                            "Enhanced Metafile (*.wmf)|*.wmf",
                            wx.SAVE|wx.OVERWRITE_PROMPT)
         if dlg.ShowModal() == wx.ID_OK:
-            self.export_path = os.path.dirname(dlg.GetPath())
-            dc = wx.MetaFileDC(dlg.GetPath())
+            path = internal_from_wxstring(dlg.GetPath())
+            self.export_path = os.path.dirname(path)
+            dc = wx.MetaFileDC(path)
 
             scale, offset, mapregion = output_transform(self.scale,
                                                         self.offset,

Copied: branches/WIP-pyshapelib-Unicode/thuban/Thuban/thuban_cfg.py (from rev 2818, trunk/thuban/Thuban/thuban_cfg.py)

Modified: branches/WIP-pyshapelib-Unicode/thuban/Thuban/version.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/Thuban/version.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/Thuban/version.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2003, 2004 by Intevation GmbH
+# Copyright (C) 2002, 2003, 2004, 2008 by Intevation GmbH
 # Authors:
 # Thomas Koester <tkoester at intevation.de>
 # Frank Koormann <frank.koormann at intevation.de>
@@ -176,13 +176,13 @@
     # There must also exist a 'name'-tuple mapping.
     #
     #         title           name       version
-    list = [["Python",      "python",   (2, 2, 1)],
-            ["wxPython",    "wxPython", (2, 4, 0)],
-            ["SQLite",      "sqlite",   (2, 8, 0)],
-            ["PySQLite",    "pysqlite", (0, 4, 1)],
+    list = [["Python",      "python",   (2, 3, 5)],
+            ["wxPython",    "wxPython", (2, 6, 0)],
+            ["SQLite",      "sqlite",   (2, 8, 3)],
+            ["PySQLite",    "pysqlite", (1, 0, 1)],
             ["PROJ",        "proj",     (4, 4, 5)],
             ["GTK",         "gtk",      (1, 2, 3)],
-            ["GDAL",        "gdal",     (1, 1, 8)]]
+            ["GDAL",        "gdal",     (1, 3, 2)]]
 
     errors = []
     for title, name, version in list:

Modified: branches/WIP-pyshapelib-Unicode/thuban/packaging/windows/thubanstart.py
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/packaging/windows/thubanstart.py	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/packaging/windows/thubanstart.py	2008-01-29 19:08:21 UTC (rev 2820)
@@ -1,17 +1,17 @@
-# This file must be copied into 
+# This example file can be copied into 
 # C:\Documents and Settings\username\Application Data\thuban
 
 ###############################################################################
-#  DEFAULT THUBAN EXTENSIONS
+# DEFAULT THUBAN EXTENSIONS (since 1.2.1 per default enabled in thuban_cfg.py.)
 ###############################################################################
-import Extensions.gns2shp
-import Extensions.umn_mapserver
-import Extensions.wms
-import Extensions.bboxdump
-import Extensions.mouseposition
-import Extensions.profiling
-import Extensions.svgexport
-import Extensions.ogr
+#import Extensions.gns2shp
+#import Extensions.umn_mapserver
+#import Extensions.wms
+#import Extensions.bboxdump
+#import Extensions.mouseposition
+##import Extensions.profiling
+#import Extensions.svgexport
+#import Extensions.ogr
 
 ###############################################################################
 #  PERSONAL EXTENSIONS 

Modified: branches/WIP-pyshapelib-Unicode/thuban/po/Makefile
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/po/Makefile	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/po/Makefile	2008-01-29 19:08:21 UTC (rev 2820)
@@ -9,7 +9,7 @@
 PO_DIR = po
 DOMAIN = thuban
 
-LIST_POTFILES = grep -l "_(\"" ../Thuban/*.py ../Thuban/*/*.py
+LIST_POTFILES = grep -l "_(\"" ../Thuban/*.py ../Thuban/*/*.py ../Extensions/*/*.py
 
 
 pot:

Modified: branches/WIP-pyshapelib-Unicode/thuban/po/de.po
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/po/de.po	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/po/de.po	2008-01-29 19:08:21 UTC (rev 2820)
@@ -8,9 +8,9 @@
 msgstr ""
 "Project-Id-Version: Thuban 1.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-08 14:25+0000\n"
-"PO-Revision-Date: 2003-12-23 12:31+0100\n"
-"Last-Translator: Bernhard Herzog <bh at intevation.de>\n"
+"POT-Creation-Date: 2008-01-27 23:25+0000\n"
+"PO-Revision-Date: 2008-01-28 00:35+0100\n"
+"Last-Translator: Bernhard Reiter <bernhard at intevation.de>\n"
 "Language-Team: Thuban Development List <thuban-devel at intevation.de>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
@@ -70,7 +70,7 @@
 msgid "invalid index"
 msgstr "Ungültiger Index"
 
-#: ../Thuban/Model/classification.py:309 ../Thuban/UI/classifier.py:758
+#: ../Thuban/Model/classification.py:309 ../Thuban/UI/classifier.py:759
 msgid "None"
 msgstr "Keine"
 
@@ -92,7 +92,7 @@
 msgid "Fill"
 msgstr "Füllung"
 
-#: ../Thuban/Model/classification.py:342 ../Thuban/UI/classifier.py:841
+#: ../Thuban/Model/classification.py:342 ../Thuban/UI/classifier.py:842
 msgid "Classification"
 msgstr "Klassifikation"
 
@@ -104,7 +104,7 @@
 msgid "size < 1"
 msgstr "size < 1"
 
-#: ../Thuban/Model/classification.py:656 ../Thuban/UI/classifier.py:528
+#: ../Thuban/Model/classification.py:656 ../Thuban/UI/classifier.py:529
 msgid "DEFAULT"
 msgstr "DEFAULT"
 
@@ -112,7 +112,8 @@
 msgid "Table not compatible with shapestore."
 msgstr "Tabelle ist nicht kompatibel mit dem Format der Shapespeicherung."
 
-#: ../Thuban/Model/extension.py:90
+#: ../Thuban/Model/extension.py:90 ../Extensions/importAPR/importAPR.py:37
+#: ../Extensions/wms/wms.py:42
 #, python-format
 msgid "Extension: %s"
 msgstr "Extension: %s"
@@ -382,7 +383,8 @@
 #: ../Thuban/UI/about.py:160 ../Thuban/UI/classgen.py:92
 #: ../Thuban/UI/dbdialog.py:277 ../Thuban/UI/dock.py:371
 #: ../Thuban/UI/join.py:66 ../Thuban/UI/layerproperties.py:82
-#: ../Thuban/UI/projdialog.py:209 ../Thuban/UI/tableview.py:388
+#: ../Thuban/UI/projdialog.py:210 ../Thuban/UI/tableview.py:389
+#: ../Extensions/wms/infodialog.py:77 ../Extensions/wms/wms.py:87
 msgid "Close"
 msgstr "Schließen"
 
@@ -391,12 +393,13 @@
 msgid "Select an alternative data file for %s"
 msgstr "Wählen Sie eine andere Datei für %s"
 
-#: ../Thuban/UI/altpathdialog.py:32 ../Thuban/UI/mainwindow.py:565
+#: ../Thuban/UI/altpathdialog.py:32 ../Thuban/UI/mainwindow.py:566
+#: ../Extensions/ogr/ogrstart.py:38
 msgid "Shapefiles (*.shp)"
 msgstr "Shapefiles (*.shp)"
 
-#: ../Thuban/UI/altpathdialog.py:33 ../Thuban/UI/mainwindow.py:566
-#: ../Thuban/UI/mainwindow.py:855
+#: ../Thuban/UI/altpathdialog.py:33 ../Thuban/UI/mainwindow.py:567
+#: ../Thuban/UI/mainwindow.py:856 ../Extensions/ogr/ogrstart.py:43
 msgid "All Files (*.*)"
 msgstr "Alle Dateien (*.*)"
 
@@ -417,19 +420,27 @@
 msgid "Alternative Path"
 msgstr "Alternativer Dateiname"
 
-#: ../Thuban/UI/application.py:110 ../Thuban/UI/application.py:122
+#: ../Thuban/UI/application.py:105
+msgid "Cannot import the thuban_cfg module."
+msgstr "Das Modul thuban_cfg kann nicht importiert werden."
+
+#: ../Thuban/UI/application.py:107
+msgid "Trying to read ~/.thuban/thubanstart.py."
+msgstr "Versuche ~/.thuban/thubanstart.py einzulesen."
+
+#: ../Thuban/UI/application.py:119 ../Thuban/UI/application.py:131
 msgid "Cannot import the thubanstart module\n"
 msgstr "Thubanstartmodule können nicht importiert werden\n"
 
-#: ../Thuban/UI/application.py:115
+#: ../Thuban/UI/application.py:124
 msgid "No thubanstart module available\n"
 msgstr "Thubanstartmodul nicht verfügbar\n"
 
-#: ../Thuban/UI/application.py:126
+#: ../Thuban/UI/application.py:135
 msgid "No ~/.thuban directory\n"
 msgstr "~/.thuban Verzeichnis nicht vorhanden\n"
 
-#: ../Thuban/UI/application.py:166
+#: ../Thuban/UI/application.py:175
 msgid ""
 "This is the wxPython-based Graphical User Interface for exploring geographic "
 "data"
@@ -437,7 +448,7 @@
 "Ein wxPython basiertes Grafisches Benutzerinterface für das Erkunden von "
 "Geografischen Daten"
 
-#: ../Thuban/UI/application.py:254
+#: ../Thuban/UI/application.py:263
 msgid ""
 "The current session contains Image layers,\n"
 "but the GDAL library is not available to draw them."
@@ -445,15 +456,15 @@
 "Die aktuelle Session beinhaltet Bildebenen,\n"
 "jedoch die GDAL Bibliothek ist nicht verfügbar, um diese darzustellen."
 
-#: ../Thuban/UI/application.py:259
+#: ../Thuban/UI/application.py:268
 msgid "Library not available"
 msgstr "Bibliothek nicht verfügbar"
 
-#: ../Thuban/UI/application.py:268 ../Thuban/UI/mainwindow.py:479
+#: ../Thuban/UI/application.py:277 ../Thuban/UI/mainwindow.py:479
 msgid "DB Connection Parameters"
 msgstr "DB Verbindungsparameter"
 
-#: ../Thuban/UI/application.py:364
+#: ../Thuban/UI/application.py:373
 #, python-format
 msgid ""
 "An unhandled exception occurred:\n"
@@ -521,7 +532,7 @@
 msgid "Field: %s"
 msgstr "Feld: %s"
 
-#: ../Thuban/UI/classgen.py:124 ../Thuban/UI/classifier.py:976
+#: ../Thuban/UI/classgen.py:124 ../Thuban/UI/classifier.py:977
 #, python-format
 msgid "Data Type: %s"
 msgstr "Datentyp: %s"
@@ -538,12 +549,12 @@
 msgid "Fix Border Color"
 msgstr "Rahmenfarbe festlegen"
 
-#: ../Thuban/UI/classgen.py:169 ../Thuban/UI/classgen.py:937
-#: ../Thuban/UI/classgen.py:968
+#: ../Thuban/UI/classgen.py:169 ../Thuban/UI/classgen.py:936
+#: ../Thuban/UI/classgen.py:967
 msgid "Change"
 msgstr "Ändern"
 
-#: ../Thuban/UI/classgen.py:275
+#: ../Thuban/UI/classgen.py:274
 msgid ""
 "Based on the data from the table and the input\n"
 "values, the exact quantiles could not be generated.\n"
@@ -555,192 +566,214 @@
 "\n"
 "Akzeptieren der geschätzten Näherung?"
 
-#: ../Thuban/UI/classgen.py:278
+#: ../Thuban/UI/classgen.py:277
 msgid "Problem with Quantiles"
 msgstr "Probleme mit Quantile"
 
-#: ../Thuban/UI/classgen.py:371
+#: ../Thuban/UI/classgen.py:369
 msgid "Min:"
 msgstr "Min:"
 
-#: ../Thuban/UI/classgen.py:376
+#: ../Thuban/UI/classgen.py:374
 msgid "Max:"
 msgstr "Max:"
 
-#: ../Thuban/UI/classgen.py:381 ../Thuban/UI/classgen.py:634
+#: ../Thuban/UI/classgen.py:379 ../Thuban/UI/classgen.py:632
 msgid "Retrieve From Table"
 msgstr "Aus Tabelle holen"
 
-#: ../Thuban/UI/classgen.py:391
+#: ../Thuban/UI/classgen.py:389
 msgid "Number of Groups:"
 msgstr "Anzahl der Gruppen:"
 
-#: ../Thuban/UI/classgen.py:398
+#: ../Thuban/UI/classgen.py:396
 msgid "Stepping:"
 msgstr "Stufen:"
 
-#: ../Thuban/UI/classgen.py:648
+#: ../Thuban/UI/classgen.py:646
 msgid "Available"
 msgstr "Verfügbar"
 
-#: ../Thuban/UI/classgen.py:653 ../Thuban/UI/classgen.py:693
+#: ../Thuban/UI/classgen.py:651 ../Thuban/UI/classgen.py:691
 msgid "Sort"
 msgstr "Sortieren"
 
-#: ../Thuban/UI/classgen.py:656 ../Thuban/UI/classgen.py:696
+#: ../Thuban/UI/classgen.py:654 ../Thuban/UI/classgen.py:694
 msgid "Reverse"
 msgstr "Umkehren"
 
-#: ../Thuban/UI/classgen.py:688
+#: ../Thuban/UI/classgen.py:686
 msgid "Use"
 msgstr "Verwenden"
 
-#: ../Thuban/UI/classgen.py:833
+#: ../Thuban/UI/classgen.py:832
 msgid "Retrieve from Table"
 msgstr "Aus Tabelle holen"
 
-#: ../Thuban/UI/classgen.py:841
+#: ../Thuban/UI/classgen.py:840
 msgid "Apply to Range"
 msgstr "Anwenden auf Wertebereich"
 
-#: ../Thuban/UI/classgen.py:848
+#: ../Thuban/UI/classgen.py:847
 msgid "Number of Classes:"
 msgstr "Anzahl der Klassen:"
 
-#: ../Thuban/UI/classgen.py:931
+#: ../Thuban/UI/classgen.py:930
 msgid "Start:"
 msgstr "Start:"
 
-#: ../Thuban/UI/classgen.py:962
+#: ../Thuban/UI/classgen.py:961
 msgid "End:"
 msgstr "Ende:"
 
-#: ../Thuban/UI/classifier.py:164
+#: ../Thuban/UI/classifier.py:165
 msgid "The Default group cannot be removed."
 msgstr "Die Defaultgruppe kann nicht entfernt werden."
 
-#: ../Thuban/UI/classifier.py:272 ../Thuban/UI/classifier.py:309
-#: ../Thuban/UI/classifier.py:467
+#: ../Thuban/UI/classifier.py:273 ../Thuban/UI/classifier.py:310
+#: ../Thuban/UI/classifier.py:468
 msgid "Pattern"
 msgstr "Muster"
 
-#: ../Thuban/UI/classifier.py:272 ../Thuban/UI/classifier.py:306
-#: ../Thuban/UI/classifier.py:466
+#: ../Thuban/UI/classifier.py:273 ../Thuban/UI/classifier.py:307
+#: ../Thuban/UI/classifier.py:467
 msgid "Singleton"
 msgstr "Singleton"
 
-#: ../Thuban/UI/classifier.py:317
+#: ../Thuban/UI/classifier.py:318
 msgid "Visible"
 msgstr "Sichtbar"
 
-#: ../Thuban/UI/classifier.py:317
+#: ../Thuban/UI/classifier.py:318
 msgid "Symbol"
 msgstr "Symbol"
 
-#: ../Thuban/UI/classifier.py:317 ../Thuban/UI/controls.py:33
+#: ../Thuban/UI/classifier.py:318 ../Thuban/UI/controls.py:33
 #: ../Thuban/UI/controls.py:177
 msgid "Value"
 msgstr "Wert"
 
-#: ../Thuban/UI/classifier.py:317
+#: ../Thuban/UI/classifier.py:318
 msgid "Label"
 msgstr "Label"
 
-#: ../Thuban/UI/classifier.py:462 ../Thuban/UI/classifier.py:465
+#: ../Thuban/UI/classifier.py:463 ../Thuban/UI/classifier.py:466
 msgid "Default"
 msgstr "Default"
 
-#: ../Thuban/UI/classifier.py:468
+#: ../Thuban/UI/classifier.py:469
 msgid "Range"
 msgstr "Wertebereich"
 
-#: ../Thuban/UI/classifier.py:469
+#: ../Thuban/UI/classifier.py:470
+#: ../Extensions/umn_mapserver/mf_handle.py:1362
 msgid "Map"
 msgstr "Karte"
 
-#: ../Thuban/UI/classifier.py:759
+#: ../Thuban/UI/classifier.py:760
 msgid "Text"
 msgstr "Text"
 
-#: ../Thuban/UI/classifier.py:760
+#: ../Thuban/UI/classifier.py:761
 msgid "Integer"
 msgstr "Integer"
 
-#: ../Thuban/UI/classifier.py:761
+#: ../Thuban/UI/classifier.py:762
 msgid "Decimal"
 msgstr "Dezimal"
 
-#: ../Thuban/UI/classifier.py:820
+#: ../Thuban/UI/classifier.py:821
 msgid "Generate Class"
 msgstr "Erzeuge Klasse"
 
-#: ../Thuban/UI/classifier.py:822 ../Thuban/UI/dbdialog.py:275
+#: ../Thuban/UI/classifier.py:823 ../Thuban/UI/dbdialog.py:275
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: ../Thuban/UI/classifier.py:824
+#: ../Thuban/UI/classifier.py:825
 msgid "Move Up"
 msgstr "Eine Ebene nach oben bewegen"
 
-#: ../Thuban/UI/classifier.py:826
+#: ../Thuban/UI/classifier.py:827
 msgid "Move Down"
 msgstr "Eine Ebene nach unten bewegen"
 
-#: ../Thuban/UI/classifier.py:828
+#: ../Thuban/UI/classifier.py:829
 msgid "Edit Symbol"
 msgstr "Symbol bearbeiten"
 
-#: ../Thuban/UI/classifier.py:830 ../Thuban/UI/dbdialog.py:276
-#: ../Thuban/UI/projdialog.py:117
+#: ../Thuban/UI/classifier.py:831 ../Thuban/UI/dbdialog.py:276
+#: ../Thuban/UI/projdialog.py:118
 msgid "Remove"
 msgstr "Entfernen"
 
-#: ../Thuban/UI/classifier.py:845
+#: ../Thuban/UI/classifier.py:846
 msgid "Field: "
 msgstr "Feld:"
 
-#: ../Thuban/UI/classifier.py:1000 ../Thuban/UI/layerproperties.py:160
+#: ../Thuban/UI/classifier.py:1001 ../Thuban/UI/layerproperties.py:160
 msgid "Layer Properties"
 msgstr "Ebenen Einstellungen"
 
-#: ../Thuban/UI/classifier.py:1167
+#: ../Thuban/UI/classifier.py:1168
 msgid "Select Properties"
 msgstr "Ausgewählte Eigenschaften"
 
-#: ../Thuban/UI/classifier.py:1178
+#: ../Thuban/UI/classifier.py:1179
 msgid "Preview:"
 msgstr "Vorschau:"
 
-#: ../Thuban/UI/classifier.py:1195
+#: ../Thuban/UI/classifier.py:1196
 msgid "Change Line Color"
 msgstr "Linienfarbe ändern"
 
-#: ../Thuban/UI/classifier.py:1201 ../Thuban/UI/classifier.py:1216
+#: ../Thuban/UI/classifier.py:1202 ../Thuban/UI/classifier.py:1217
 msgid "Transparent"
 msgstr "Transparenz"
 
-#: ../Thuban/UI/classifier.py:1212
+#: ../Thuban/UI/classifier.py:1213
 msgid "Change Fill Color"
 msgstr "Füllfarbe ändern"
 
-#: ../Thuban/UI/classifier.py:1225
+#: ../Thuban/UI/classifier.py:1226
 msgid "Line Width: "
 msgstr "Linienbreite:"
 
-#: ../Thuban/UI/classifier.py:1242
+#: ../Thuban/UI/classifier.py:1243
 msgid "Size: "
 msgstr "Größe: "
 
-#: ../Thuban/UI/classifier.py:1262 ../Thuban/UI/colordialog.py:52
+#: ../Thuban/UI/classifier.py:1263 ../Thuban/UI/colordialog.py:52
 #: ../Thuban/UI/dbdialog.py:108 ../Thuban/UI/dbdialog.py:222
 #: ../Thuban/UI/labeldialog.py:41 ../Thuban/UI/layerproperties.py:81
-#: ../Thuban/UI/projdialog.py:205
+#: ../Thuban/UI/projdialog.py:206 ../Extensions/bboxdump/bboxdump.py:71
+#: ../Extensions/ogr/ogrdialog.py:68 ../Extensions/ogr/ogrdialog.py:150
+#: ../Extensions/ogr/ogrdialog.py:262 ../Extensions/ogr/ogrdialog.py:368
+#: ../Extensions/umn_mapserver/mf_handle.py:162
+#: ../Extensions/umn_mapserver/mf_handle.py:278
+#: ../Extensions/umn_mapserver/mf_handle.py:368
+#: ../Extensions/umn_mapserver/mf_handle.py:525
+#: ../Extensions/umn_mapserver/mf_handle.py:749
+#: ../Extensions/umn_mapserver/mf_handle.py:977
+#: ../Extensions/umn_mapserver/mf_handle.py:1219
+#: ../Extensions/wms/properties.py:152 ../Extensions/wms/wms.py:85
 msgid "OK"
 msgstr "OK"
 
-#: ../Thuban/UI/classifier.py:1264 ../Thuban/UI/colordialog.py:53
+#: ../Thuban/UI/classifier.py:1265 ../Thuban/UI/colordialog.py:53
 #: ../Thuban/UI/dbdialog.py:111 ../Thuban/UI/dbdialog.py:224
-#: ../Thuban/UI/labeldialog.py:42 ../Thuban/UI/projdialog.py:1033
+#: ../Thuban/UI/labeldialog.py:42 ../Thuban/UI/projdialog.py:1036
+#: ../Extensions/bboxdump/bboxdump.py:76 ../Extensions/ogr/ogrdialog.py:71
+#: ../Extensions/ogr/ogrdialog.py:153 ../Extensions/ogr/ogrdialog.py:265
+#: ../Extensions/ogr/ogrdialog.py:371
+#: ../Extensions/umn_mapserver/mf_handle.py:164
+#: ../Extensions/umn_mapserver/mf_handle.py:280
+#: ../Extensions/umn_mapserver/mf_handle.py:370
+#: ../Extensions/umn_mapserver/mf_handle.py:527
+#: ../Extensions/umn_mapserver/mf_handle.py:751
+#: ../Extensions/umn_mapserver/mf_handle.py:979
+#: ../Extensions/umn_mapserver/mf_handle.py:1221
+#: ../Extensions/wms/properties.py:153
 msgid "Cancel"
 msgstr "Abbrechen"
 
@@ -752,23 +785,23 @@
 msgid "Field"
 msgstr "Feld"
 
-#: ../Thuban/UI/dbdialog.py:42
+#: ../Thuban/UI/dbdialog.py:42 ../Extensions/ogr/ogrdialog.py:202
 msgid "Choose layer from database"
 msgstr "Ebene aus Datenbank wählen"
 
-#: ../Thuban/UI/dbdialog.py:60
+#: ../Thuban/UI/dbdialog.py:60 ../Extensions/ogr/ogrdialog.py:220
 msgid "Databases"
 msgstr "Datenbanken"
 
-#: ../Thuban/UI/dbdialog.py:75
+#: ../Thuban/UI/dbdialog.py:75 ../Extensions/ogr/ogrdialog.py:235
 msgid "Retrieve"
 msgstr "Holen"
 
-#: ../Thuban/UI/dbdialog.py:83
+#: ../Thuban/UI/dbdialog.py:83 ../Extensions/ogr/ogrdialog.py:243
 msgid "Tables"
 msgstr "Tabellen"
 
-#: ../Thuban/UI/dbdialog.py:93
+#: ../Thuban/UI/dbdialog.py:93 ../Extensions/ogr/ogrdialog.py:253
 msgid "ID Column"
 msgstr "ID-Spalte"
 
@@ -867,6 +900,7 @@
 msgstr "Verbinden"
 
 #: ../Thuban/UI/join.py:71 ../Thuban/UI/join.py:72
+#: ../Extensions/bboxdump/bboxdump.py:60 ../Extensions/bboxdump/bboxdump.py:65
 msgid "Select..."
 msgstr "Auswählen..."
 
@@ -908,7 +942,7 @@
 msgid "Join Failed"
 msgstr "Verbinden schlug fehl"
 
-#: ../Thuban/UI/join.py:209 ../Thuban/UI/mainwindow.py:918
+#: ../Thuban/UI/join.py:209 ../Thuban/UI/mainwindow.py:919
 #, python-format
 msgid "Table: %s"
 msgstr "Tabelle: %s"
@@ -935,11 +969,11 @@
 msgid "Projection: %s"
 msgstr "Projektion: %s"
 
-#: ../Thuban/UI/layerproperties.py:79 ../Thuban/UI/projdialog.py:199
+#: ../Thuban/UI/layerproperties.py:79 ../Thuban/UI/projdialog.py:200
 msgid "Try"
 msgstr "Anwenden"
 
-#: ../Thuban/UI/layerproperties.py:80 ../Thuban/UI/projdialog.py:202
+#: ../Thuban/UI/layerproperties.py:80 ../Thuban/UI/projdialog.py:203
 msgid "Revert"
 msgstr "Zurücksetzen"
 
@@ -1008,485 +1042,490 @@
 msgid "Save Session As"
 msgstr "Speichere Session unter ..."
 
-#: ../Thuban/UI/mainwindow.py:563
+#: ../Thuban/UI/mainwindow.py:564
 msgid "Select one or more data files"
 msgstr "Eine oder mehrere Dateien auswählen"
 
-#: ../Thuban/UI/mainwindow.py:578
+#: ../Thuban/UI/mainwindow.py:579 ../Extensions/importAPR/importAPR.py:230
+#: ../Extensions/ogr/ogrstart.py:63
 msgid "Add Layer"
 msgstr "Ebene hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:579 ../Thuban/UI/mainwindow.py:605
-#: ../Thuban/UI/mainwindow.py:865
+#: ../Thuban/UI/mainwindow.py:580 ../Thuban/UI/mainwindow.py:606
+#: ../Thuban/UI/mainwindow.py:866 ../Extensions/gns2shp/gns2shp.py:156
+#: ../Extensions/importAPR/importAPR.py:231 ../Extensions/ogr/ogrstart.py:64
+#: ../Extensions/umn_mapserver/mf_import.py:274
+#: ../Extensions/umn_mapserver/mf_import.py:353
 #, python-format
 msgid "Can't open the file '%s'."
 msgstr "Kann Datei nicht öffnen  '%s'."
 
-#: ../Thuban/UI/mainwindow.py:591
+#: ../Thuban/UI/mainwindow.py:592
 msgid "Select an image file"
 msgstr "Bilddatei wählen"
 
-#: ../Thuban/UI/mainwindow.py:604
+#: ../Thuban/UI/mainwindow.py:605
 msgid "Add Image Layer"
 msgstr "Bildebene hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:633
+#: ../Thuban/UI/mainwindow.py:634 ../Extensions/ogr/ogrstart.py:114
 msgid "Add Layer from database"
 msgstr "Ebene aus Datenbank hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:634
+#: ../Thuban/UI/mainwindow.py:635 ../Extensions/ogr/ogrstart.py:115
 #, python-format
 msgid "Can't open the database table '%s'"
 msgstr "Kann Datenbanktabelle '%s' nicht öffnen."
 
-#: ../Thuban/UI/mainwindow.py:723
+#: ../Thuban/UI/mainwindow.py:724
 #, python-format
 msgid "Copy of `%s'"
 msgstr "Kopie von  `%s'"
 
-#: ../Thuban/UI/mainwindow.py:753
+#: ../Thuban/UI/mainwindow.py:754
 #, python-format
 msgid "Layer Table: %s"
 msgstr "Ebenentabelle: %s"
 
-#: ../Thuban/UI/mainwindow.py:768
+#: ../Thuban/UI/mainwindow.py:769
 #, python-format
 msgid "Map Projection: %s"
 msgstr "Kartenprojektion: %s"
 
-#: ../Thuban/UI/mainwindow.py:782
+#: ../Thuban/UI/mainwindow.py:783
 #, python-format
 msgid "Layer Projection: %s"
 msgstr "Ebenenprojektion: %s"
 
-#: ../Thuban/UI/mainwindow.py:815
+#: ../Thuban/UI/mainwindow.py:816
 msgid "Join Layer with Table"
 msgstr "Verbinde Ebene mit Tabelle"
 
-#: ../Thuban/UI/mainwindow.py:837 ../Thuban/UI/mainwindow.py:1168
+#: ../Thuban/UI/mainwindow.py:838 ../Thuban/UI/mainwindow.py:1169
+#: ../Extensions/umn_mapserver/mf_handle.py:1386
 msgid "Legend"
 msgstr "Legende"
 
-#: ../Thuban/UI/mainwindow.py:851 ../Thuban/UI/mainwindow.py:864
+#: ../Thuban/UI/mainwindow.py:852 ../Thuban/UI/mainwindow.py:865
 msgid "Open Table"
 msgstr "Öffne Tabelle"
 
-#: ../Thuban/UI/mainwindow.py:853
+#: ../Thuban/UI/mainwindow.py:854
 msgid "DBF Files (*.dbf)"
 msgstr "DBF Dateien (*.dbf)"
 
-#: ../Thuban/UI/mainwindow.py:876
+#: ../Thuban/UI/mainwindow.py:877
 msgid "Pick the tables to close:"
 msgstr "Wähle die Tabellen zum Schließen:"
 
-#: ../Thuban/UI/mainwindow.py:877
+#: ../Thuban/UI/mainwindow.py:878
 msgid "Close Table"
 msgstr "Tabelle schließen"
 
-#: ../Thuban/UI/mainwindow.py:897
+#: ../Thuban/UI/mainwindow.py:898
 msgid "Pick the table to show:"
 msgstr "Wähle Tabellen zum Anzeigen:"
 
-#: ../Thuban/UI/mainwindow.py:898
+#: ../Thuban/UI/mainwindow.py:899
 msgid "Show Table"
 msgstr "Tabelle anzeigen"
 
-#: ../Thuban/UI/mainwindow.py:909
+#: ../Thuban/UI/mainwindow.py:910
 msgid "Join Tables"
 msgstr "Tabellen verbinden"
 
-#: ../Thuban/UI/mainwindow.py:932
+#: ../Thuban/UI/mainwindow.py:933
 msgid "Pick the table to rename:"
 msgstr "Wähle Tabellen zum Umbenennen:"
 
-#: ../Thuban/UI/mainwindow.py:933 ../Thuban/UI/mainwindow.py:945
+#: ../Thuban/UI/mainwindow.py:934 ../Thuban/UI/mainwindow.py:946
 msgid "Rename Table"
 msgstr "Tabelle umbenennen"
 
-#: ../Thuban/UI/mainwindow.py:945
+#: ../Thuban/UI/mainwindow.py:946
 msgid "Table Title:"
 msgstr "Tabellentitel:"
 
-#: ../Thuban/UI/mainwindow.py:994
+#: ../Thuban/UI/mainwindow.py:995
 msgid "Map Title:"
 msgstr "Kartentitel:"
 
-#: ../Thuban/UI/mainwindow.py:994
+#: ../Thuban/UI/mainwindow.py:995
 msgid "Rename Map"
 msgstr "Karte Umbenennen"
 
-#: ../Thuban/UI/mainwindow.py:1007
+#: ../Thuban/UI/mainwindow.py:1008
 msgid "Layer Title:"
 msgstr "Ebenentitel: %s"
 
-#: ../Thuban/UI/mainwindow.py:1007
+#: ../Thuban/UI/mainwindow.py:1008
 msgid "Rename Layer"
 msgstr "Ebene Umbenennen"
 
-#: ../Thuban/UI/mainwindow.py:1060
+#: ../Thuban/UI/mainwindow.py:1061
 #, python-format
 msgid "Thuban - %s"
 msgstr "Thuban - %s"
 
-#: ../Thuban/UI/mainwindow.py:1062
+#: ../Thuban/UI/mainwindow.py:1063
 msgid "Thuban"
 msgstr "Thuban"
 
-#: ../Thuban/UI/mainwindow.py:1157
+#: ../Thuban/UI/mainwindow.py:1158
 msgid "&New Session"
 msgstr "&Neue Session"
 
-#: ../Thuban/UI/mainwindow.py:1158
+#: ../Thuban/UI/mainwindow.py:1159
 msgid "Start a new session"
 msgstr "Starte eine neue Session"
 
-#: ../Thuban/UI/mainwindow.py:1159
+#: ../Thuban/UI/mainwindow.py:1160
 msgid "&Open Session..."
 msgstr "&Öffne Session"
 
-#: ../Thuban/UI/mainwindow.py:1160
+#: ../Thuban/UI/mainwindow.py:1161
 msgid "Open a session file"
 msgstr "Sessiondatei öffnen"
 
-#: ../Thuban/UI/mainwindow.py:1161
+#: ../Thuban/UI/mainwindow.py:1162
 msgid "&Save Session"
 msgstr "&Speichere Session"
 
-#: ../Thuban/UI/mainwindow.py:1162
+#: ../Thuban/UI/mainwindow.py:1163
 msgid "Save this session to the file it was opened from"
 msgstr "Speichere diese Session in die Datei, die geöffnet wurde von"
 
-#: ../Thuban/UI/mainwindow.py:1163
+#: ../Thuban/UI/mainwindow.py:1164
 msgid "Save Session &As..."
 msgstr "Speichere Session &Unter..."
 
-#: ../Thuban/UI/mainwindow.py:1164
+#: ../Thuban/UI/mainwindow.py:1165
 msgid "Save this session to a new file"
 msgstr "Diese Session in einer neuen Datei speichern"
 
-#: ../Thuban/UI/mainwindow.py:1165
+#: ../Thuban/UI/mainwindow.py:1166
 msgid "Session &Tree"
 msgstr "Session &Baum"
 
-#: ../Thuban/UI/mainwindow.py:1167
+#: ../Thuban/UI/mainwindow.py:1168
 msgid "Toggle on/off the session tree analysis window"
 msgstr "Das Analysefenster des Sessionbaums zeigen/schließen"
 
-#: ../Thuban/UI/mainwindow.py:1170
+#: ../Thuban/UI/mainwindow.py:1171
 msgid "Toggle Legend on/off"
 msgstr "Legende zeigen/schließen"
 
-#: ../Thuban/UI/mainwindow.py:1171
+#: ../Thuban/UI/mainwindow.py:1172
 msgid "&Database Connections..."
 msgstr "&Datenbankverbindungen"
 
-#: ../Thuban/UI/mainwindow.py:1174
+#: ../Thuban/UI/mainwindow.py:1175
 msgid "E&xit"
 msgstr "Be&enden"
 
-#: ../Thuban/UI/mainwindow.py:1175
+#: ../Thuban/UI/mainwindow.py:1176
 msgid "Finish working with Thuban"
 msgstr "Arbeiten mit Thuban beenden"
 
-#: ../Thuban/UI/mainwindow.py:1178
+#: ../Thuban/UI/mainwindow.py:1179
 msgid "&About..."
 msgstr "&Über..."
 
-#: ../Thuban/UI/mainwindow.py:1179
+#: ../Thuban/UI/mainwindow.py:1180
 msgid "Info about Thuban authors, version and modules"
 msgstr ""
 "Informationen über die Autoren von Thuban, die Version und die verwendeten "
 "Module"
 
-#: ../Thuban/UI/mainwindow.py:1183 ../Thuban/UI/mainwindow.py:1231
+#: ../Thuban/UI/mainwindow.py:1184 ../Thuban/UI/mainwindow.py:1232
 msgid "Pro&jection..."
 msgstr "Pro&jektion..."
 
-#: ../Thuban/UI/mainwindow.py:1184
+#: ../Thuban/UI/mainwindow.py:1185
 msgid "Set or change the map projection"
 msgstr "Setze oder ändere die Kartenprojektion"
 
-#: ../Thuban/UI/mainwindow.py:1186
+#: ../Thuban/UI/mainwindow.py:1187
 msgid "&Zoom in"
 msgstr "Hine&inzoomen"
 
-#: ../Thuban/UI/mainwindow.py:1187
+#: ../Thuban/UI/mainwindow.py:1188
 msgid "Switch to map-mode 'zoom-in'"
 msgstr "Hineinzoomen"
 
-#: ../Thuban/UI/mainwindow.py:1189
+#: ../Thuban/UI/mainwindow.py:1190
 msgid "Zoom &out"
 msgstr "Her&auszoomen"
 
-#: ../Thuban/UI/mainwindow.py:1190
+#: ../Thuban/UI/mainwindow.py:1191
 msgid "Switch to map-mode 'zoom-out'"
 msgstr "Herauszoomen"
 
-#: ../Thuban/UI/mainwindow.py:1192
+#: ../Thuban/UI/mainwindow.py:1193
 msgid "&Pan"
 msgstr "&Verschieben"
 
-#: ../Thuban/UI/mainwindow.py:1193
+#: ../Thuban/UI/mainwindow.py:1194
 msgid "Switch to map-mode 'pan'"
 msgstr "Verschieben"
 
-#: ../Thuban/UI/mainwindow.py:1195
+#: ../Thuban/UI/mainwindow.py:1196
 msgid "&Identify"
 msgstr "&Identifizieren"
 
-#: ../Thuban/UI/mainwindow.py:1197
+#: ../Thuban/UI/mainwindow.py:1198
 msgid "Switch to map-mode 'identify'"
 msgstr "Identifizieren"
 
-#: ../Thuban/UI/mainwindow.py:1199
+#: ../Thuban/UI/mainwindow.py:1200
 msgid "&Label"
 msgstr "&Label"
 
-#: ../Thuban/UI/mainwindow.py:1200
+#: ../Thuban/UI/mainwindow.py:1201
 msgid "Add/Remove labels"
 msgstr "Labels hinzufügen/entfernen"
 
-#: ../Thuban/UI/mainwindow.py:1202
+#: ../Thuban/UI/mainwindow.py:1203
 msgid "&Full extent"
 msgstr "Volle Ausdehnung"
 
-#: ../Thuban/UI/mainwindow.py:1203
+#: ../Thuban/UI/mainwindow.py:1204
 msgid "Zoom to the full map extent"
 msgstr "Zur vollen Kartenausdehnung zoomen"
 
-#: ../Thuban/UI/mainwindow.py:1205
+#: ../Thuban/UI/mainwindow.py:1206
 msgid "&Full layer extent"
 msgstr "Volle Ebenenausdehnung"
 
-#: ../Thuban/UI/mainwindow.py:1206
+#: ../Thuban/UI/mainwindow.py:1207
 msgid "Zoom to the full layer extent"
 msgstr "Zur vollen Ebenenausdehnung zoomen"
 
-#: ../Thuban/UI/mainwindow.py:1208
+#: ../Thuban/UI/mainwindow.py:1209
 msgid "&Full selection extent"
 msgstr "Volle Auswahlausdehnung"
 
-#: ../Thuban/UI/mainwindow.py:1210
+#: ../Thuban/UI/mainwindow.py:1211
 msgid "Zoom to the full selection extent"
 msgstr "Zur vollen Auswahlausdehnung zoomen"
 
-#: ../Thuban/UI/mainwindow.py:1212
+#: ../Thuban/UI/mainwindow.py:1213
 msgid "E&xport"
 msgstr "E&xport"
 
-#: ../Thuban/UI/mainwindow.py:1213
+#: ../Thuban/UI/mainwindow.py:1214
 msgid "Export the map to file"
 msgstr "Exportiere die Karte in die Datei"
 
-#: ../Thuban/UI/mainwindow.py:1214
+#: ../Thuban/UI/mainwindow.py:1215
 msgid "Prin&t"
 msgstr "&Drucken"
 
-#: ../Thuban/UI/mainwindow.py:1215
+#: ../Thuban/UI/mainwindow.py:1216
 msgid "Print the map"
 msgstr "Karte drucken"
 
-#: ../Thuban/UI/mainwindow.py:1216 ../Thuban/UI/mainwindow.py:1302
+#: ../Thuban/UI/mainwindow.py:1217 ../Thuban/UI/mainwindow.py:1303
 msgid "&Rename..."
 msgstr "&Umbenennen..."
 
-#: ../Thuban/UI/mainwindow.py:1217
+#: ../Thuban/UI/mainwindow.py:1218
 msgid "Rename the map"
 msgstr "Karte umbenennen"
 
-#: ../Thuban/UI/mainwindow.py:1218
+#: ../Thuban/UI/mainwindow.py:1219
 msgid "&Add Layer..."
 msgstr "Ebene &hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:1219
+#: ../Thuban/UI/mainwindow.py:1220
 msgid "Add a new layer to the map"
 msgstr "Eine neue Ebene zur Karte hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:1220
+#: ../Thuban/UI/mainwindow.py:1221
 msgid "&Add Image Layer..."
 msgstr "&Bildebene hinzufügen..."
 
-#: ../Thuban/UI/mainwindow.py:1221
+#: ../Thuban/UI/mainwindow.py:1222
 msgid "Add a new image layer to the map"
 msgstr "Eine neue Bildebene zur Karte hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:1223
+#: ../Thuban/UI/mainwindow.py:1224
 msgid "Add &Database Layer..."
 msgstr "&Datenbankebene hinzufügen..."
 
-#: ../Thuban/UI/mainwindow.py:1224
+#: ../Thuban/UI/mainwindow.py:1225
 msgid "Add a new database layer to active map"
 msgstr "Eine neue Bildebene aus einer Datenbank zur Karte hinzufügen"
 
-#: ../Thuban/UI/mainwindow.py:1226
+#: ../Thuban/UI/mainwindow.py:1227
 msgid "&Remove Layer"
 msgstr "Ebene &entfernen"
 
-#: ../Thuban/UI/mainwindow.py:1227
+#: ../Thuban/UI/mainwindow.py:1228
 msgid "Remove selected layer"
 msgstr "Ausgewählte Ebene entfernen"
 
-#: ../Thuban/UI/mainwindow.py:1233
+#: ../Thuban/UI/mainwindow.py:1234
 msgid "Specify projection for selected layer"
 msgstr "Projektion für die ausgewählte Ebene spezifizieren"
 
-#: ../Thuban/UI/mainwindow.py:1234
+#: ../Thuban/UI/mainwindow.py:1235
 msgid "&Duplicate"
 msgstr "&Duplizieren"
 
-#: ../Thuban/UI/mainwindow.py:1235
+#: ../Thuban/UI/mainwindow.py:1236
 msgid "Duplicate selected layer"
 msgstr "Ausgewählte Ebene duplizieren"
 
-#: ../Thuban/UI/mainwindow.py:1237
+#: ../Thuban/UI/mainwindow.py:1238
 msgid "Re&name ..."
 msgstr "&Umbenennen..."
 
-#: ../Thuban/UI/mainwindow.py:1238
+#: ../Thuban/UI/mainwindow.py:1239
 msgid "Rename selected layer"
 msgstr "Ausgewählte Ebene umbenennen"
 
-#: ../Thuban/UI/mainwindow.py:1240
+#: ../Thuban/UI/mainwindow.py:1241
 msgid "&Raise"
 msgstr "Eine Ebene nach &oben bewegen"
 
-#: ../Thuban/UI/mainwindow.py:1241
+#: ../Thuban/UI/mainwindow.py:1242
 msgid "Raise selected layer"
 msgstr "Ausgewählte Ebene eine Ebene nach oben bewegen"
 
-#: ../Thuban/UI/mainwindow.py:1243
+#: ../Thuban/UI/mainwindow.py:1244
 msgid "&Lower"
 msgstr "Eine Ebene nach &unten bewegen"
 
-#: ../Thuban/UI/mainwindow.py:1244
+#: ../Thuban/UI/mainwindow.py:1245
 msgid "Lower selected layer"
 msgstr "Ausgewählte Ebene eine Ebene nach unten bewegen"
 
-#: ../Thuban/UI/mainwindow.py:1246
+#: ../Thuban/UI/mainwindow.py:1247
 msgid "&Show"
 msgstr "&Sichtbar"
 
-#: ../Thuban/UI/mainwindow.py:1247
+#: ../Thuban/UI/mainwindow.py:1248
 msgid "Make selected layer visible"
 msgstr "Ausgewählte Ebene ist sichtbar"
 
-#: ../Thuban/UI/mainwindow.py:1249
+#: ../Thuban/UI/mainwindow.py:1250
 msgid "&Hide"
 msgstr "&Nicht sichtbar"
 
-#: ../Thuban/UI/mainwindow.py:1250
+#: ../Thuban/UI/mainwindow.py:1251
 msgid "Make selected layer unvisible"
 msgstr "Ausgewählte Ebene ist nicht sichtbar"
 
-#: ../Thuban/UI/mainwindow.py:1252
+#: ../Thuban/UI/mainwindow.py:1253
 msgid "Show Ta&ble"
 msgstr "&Zeige Tabelle"
 
-#: ../Thuban/UI/mainwindow.py:1253
+#: ../Thuban/UI/mainwindow.py:1254
 msgid "Show the selected layer's table"
 msgstr "Die Tabelle zur ausgewählten Ebene zeigen"
 
-#: ../Thuban/UI/mainwindow.py:1255
+#: ../Thuban/UI/mainwindow.py:1256
 msgid "&Properties..."
 msgstr "&Einstellungen..."
 
-#: ../Thuban/UI/mainwindow.py:1257
+#: ../Thuban/UI/mainwindow.py:1258
 msgid "Edit the properties of the selected layer"
 msgstr "Die Einstellungen der ausgewählten Ebenen bearbeiten"
 
-#: ../Thuban/UI/mainwindow.py:1258
+#: ../Thuban/UI/mainwindow.py:1259
 msgid "&Join Table..."
 msgstr "Tabelle &verbinden..."
 
-#: ../Thuban/UI/mainwindow.py:1260
+#: ../Thuban/UI/mainwindow.py:1261
 msgid "Join and attach a table to the selected layer"
 msgstr "Verbinden und anfügen einer Tabellen zur ausgewählten Ebenen"
 
-#: ../Thuban/UI/mainwindow.py:1263
+#: ../Thuban/UI/mainwindow.py:1264
 msgid "&Top"
 msgstr "&Oben"
 
-#: ../Thuban/UI/mainwindow.py:1264
+#: ../Thuban/UI/mainwindow.py:1265
 msgid "Put selected layer to the top"
 msgstr "Ausgewählte Ebene nach oben stellen"
 
-#: ../Thuban/UI/mainwindow.py:1266
+#: ../Thuban/UI/mainwindow.py:1267
 msgid "&Bottom"
 msgstr "&Unten"
 
-#: ../Thuban/UI/mainwindow.py:1267
+#: ../Thuban/UI/mainwindow.py:1268
 msgid "Put selected layer to the bottom"
 msgstr "Ausgewählte Ebene nach unten stellen"
 
-#: ../Thuban/UI/mainwindow.py:1269
+#: ../Thuban/UI/mainwindow.py:1270
 msgid "&Visible"
 msgstr "&Sichtbar"
 
-#: ../Thuban/UI/mainwindow.py:1271
+#: ../Thuban/UI/mainwindow.py:1272
 msgid "Toggle visibility of selected layer"
 msgstr "Sichtbarkeit der ausgewählten Ebene umschalten"
 
-#: ../Thuban/UI/mainwindow.py:1288
+#: ../Thuban/UI/mainwindow.py:1289
 msgid "&Unjoin Table..."
 msgstr "Verbindungen &lösen"
 
-#: ../Thuban/UI/mainwindow.py:1290
+#: ../Thuban/UI/mainwindow.py:1291
 msgid "Undo the last join operation"
 msgstr "Letzte Verbindungenoperation rückgängig machen"
 
-#: ../Thuban/UI/mainwindow.py:1297
+#: ../Thuban/UI/mainwindow.py:1298
 msgid "&Open..."
 msgstr "&Öffnen..."
 
-#: ../Thuban/UI/mainwindow.py:1298
+#: ../Thuban/UI/mainwindow.py:1299
 msgid "Open a DBF-table from a file"
 msgstr "Öffne eine DBF-Tabelle aus einer Datei"
 
-#: ../Thuban/UI/mainwindow.py:1299
+#: ../Thuban/UI/mainwindow.py:1300
 msgid "&Close..."
 msgstr "&Schließen..."
 
-#: ../Thuban/UI/mainwindow.py:1301
+#: ../Thuban/UI/mainwindow.py:1302
 msgid "Close one or more tables from a list"
 msgstr "Schließe eine oder mehrere Tabellen von der Liste"
 
-#: ../Thuban/UI/mainwindow.py:1304
+#: ../Thuban/UI/mainwindow.py:1305
 msgid "Rename one or more tables"
 msgstr "Umbenennen von einer oder mehreren Tabellen"
 
-#: ../Thuban/UI/mainwindow.py:1305
+#: ../Thuban/UI/mainwindow.py:1306
 msgid "&Show..."
 msgstr "&Zeigen..."
 
-#: ../Thuban/UI/mainwindow.py:1307
+#: ../Thuban/UI/mainwindow.py:1308
 msgid "Show one or more tables in a dialog"
 msgstr "Zeige eine oder mehrere Tabelle in einem Dialog"
 
-#: ../Thuban/UI/mainwindow.py:1308
+#: ../Thuban/UI/mainwindow.py:1309
 msgid "&Join..."
 msgstr "&Verbinden..."
 
-#: ../Thuban/UI/mainwindow.py:1310
+#: ../Thuban/UI/mainwindow.py:1311
 msgid "Join two tables creating a new one"
 msgstr "Verbinde zwei Tabellen erzeuge eine neue Tabelle"
 
-#: ../Thuban/UI/mainwindow.py:1334
+#: ../Thuban/UI/mainwindow.py:1335
 msgid "&File"
 msgstr "&Datei"
 
-#: ../Thuban/UI/mainwindow.py:1340
+#: ../Thuban/UI/mainwindow.py:1341
 msgid "&Map"
 msgstr "&Karte"
 
-#: ../Thuban/UI/mainwindow.py:1341
+#: ../Thuban/UI/mainwindow.py:1342
 msgid "&Layer"
 msgstr "&Ebene"
 
-#: ../Thuban/UI/mainwindow.py:1355
+#: ../Thuban/UI/mainwindow.py:1356
 msgid "&Table"
 msgstr "&Tabelle"
 
-#: ../Thuban/UI/mainwindow.py:1361
+#: ../Thuban/UI/mainwindow.py:1362
 msgid "&Help"
 msgstr "&Hilfe"
 
@@ -1495,72 +1534,72 @@
 msgid "Submenu %s doesn't exist"
 msgstr "Untermenü %s existiert nicht"
 
-#: ../Thuban/UI/projdialog.py:62 ../Thuban/UI/projdialog.py:776
+#: ../Thuban/UI/projdialog.py:63 ../Thuban/UI/projdialog.py:779
 msgid "Transverse Mercator"
 msgstr "Transverse Mercator"
 
-#: ../Thuban/UI/projdialog.py:63 ../Thuban/UI/projdialog.py:842
+#: ../Thuban/UI/projdialog.py:64 ../Thuban/UI/projdialog.py:845
 msgid "Universal Transverse Mercator"
 msgstr "Universal Transverse Mercator"
 
-#: ../Thuban/UI/projdialog.py:64 ../Thuban/UI/projdialog.py:918
+#: ../Thuban/UI/projdialog.py:65 ../Thuban/UI/projdialog.py:921
 msgid "Lambert Conic Conformal"
 msgstr "Lambert Conic Conformal"
 
-#: ../Thuban/UI/projdialog.py:65 ../Thuban/UI/projdialog.py:66
-#: ../Thuban/UI/projdialog.py:968
+#: ../Thuban/UI/projdialog.py:66 ../Thuban/UI/projdialog.py:67
+#: ../Thuban/UI/projdialog.py:971
 msgid "Geographic"
 msgstr "Geographisch"
 
-#: ../Thuban/UI/projdialog.py:110
+#: ../Thuban/UI/projdialog.py:111
 msgid "Import..."
 msgstr "Import..."
 
-#: ../Thuban/UI/projdialog.py:113
+#: ../Thuban/UI/projdialog.py:114
 msgid "Export..."
 msgstr "Export..."
 
-#: ../Thuban/UI/projdialog.py:122
+#: ../Thuban/UI/projdialog.py:123
 msgid "Show EPSG:"
 msgstr "EPSG Anzeigen:"
 
-#: ../Thuban/UI/projdialog.py:124
+#: ../Thuban/UI/projdialog.py:125
 msgid "Normal"
 msgstr "Normal"
 
-#: ../Thuban/UI/projdialog.py:127
+#: ../Thuban/UI/projdialog.py:128
 msgid "Deprecated"
 msgstr "Veraltet"
 
-#: ../Thuban/UI/projdialog.py:138
+#: ../Thuban/UI/projdialog.py:139
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: ../Thuban/UI/projdialog.py:148
+#: ../Thuban/UI/projdialog.py:149
 msgid "Name:"
 msgstr "Name:"
 
-#: ../Thuban/UI/projdialog.py:156
+#: ../Thuban/UI/projdialog.py:157
 msgid "Projection:"
 msgstr "Projektion:"
 
-#: ../Thuban/UI/projdialog.py:167 ../Thuban/UI/projdialog.py:648
+#: ../Thuban/UI/projdialog.py:168 ../Thuban/UI/projdialog.py:651
 msgid "<Unknown>"
 msgstr "<Unbekannt>"
 
-#: ../Thuban/UI/projdialog.py:183
+#: ../Thuban/UI/projdialog.py:184
 msgid "New"
 msgstr "Neu"
 
-#: ../Thuban/UI/projdialog.py:186
+#: ../Thuban/UI/projdialog.py:187
 msgid "Add to List"
 msgstr "Hinzufügen zur Liste"
 
-#: ../Thuban/UI/projdialog.py:190
+#: ../Thuban/UI/projdialog.py:191
 msgid "Update"
 msgstr "Aktualisieren"
 
-#: ../Thuban/UI/projdialog.py:295
+#: ../Thuban/UI/projdialog.py:296
 #, python-format
 msgid ""
 "Warnings when reading \"%s\":\n"
@@ -1571,72 +1610,72 @@
 "\n"
 "%s"
 
-#: ../Thuban/UI/projdialog.py:306
+#: ../Thuban/UI/projdialog.py:307
 msgid "Import"
 msgstr "Import"
 
-#: ../Thuban/UI/projdialog.py:319 ../Thuban/UI/projdialog.py:617
+#: ../Thuban/UI/projdialog.py:320 ../Thuban/UI/projdialog.py:620
 msgid "Warnings"
 msgstr "Warnungen"
 
-#: ../Thuban/UI/projdialog.py:337 ../Thuban/UI/tableview.py:386
+#: ../Thuban/UI/projdialog.py:338 ../Thuban/UI/tableview.py:387
 msgid "Export"
 msgstr "Export"
 
-#: ../Thuban/UI/projdialog.py:389
+#: ../Thuban/UI/projdialog.py:391
 msgid "The following error occured:\n"
 msgstr "Der folgende Fehler trat auf:\n"
 
-#: ../Thuban/UI/projdialog.py:391
+#: ../Thuban/UI/projdialog.py:393
 msgid "Error"
 msgstr "Fehler"
 
-#: ../Thuban/UI/projdialog.py:460
+#: ../Thuban/UI/projdialog.py:462
 msgid "No Projections selected"
 msgstr "Keine Projektionen Ausgewählt:"
 
-#: ../Thuban/UI/projdialog.py:470
+#: ../Thuban/UI/projdialog.py:472
 #, python-format
 msgid "Source of Projection: %s"
 msgstr "Quelle der Projektionen: %s"
 
-#: ../Thuban/UI/projdialog.py:502
+#: ../Thuban/UI/projdialog.py:504
 msgid "Multiple Projections selected"
 msgstr "Mehrere Projektionen Ausgewählt"
 
-#: ../Thuban/UI/projdialog.py:649
+#: ../Thuban/UI/projdialog.py:652
 msgid "Airy"
 msgstr "Airy"
 
-#: ../Thuban/UI/projdialog.py:650
+#: ../Thuban/UI/projdialog.py:653
 msgid "Bessel 1841"
 msgstr "Bessel 1841"
 
-#: ../Thuban/UI/projdialog.py:651
+#: ../Thuban/UI/projdialog.py:654
 msgid "Clarke 1866"
 msgstr "Clarke 1866"
 
-#: ../Thuban/UI/projdialog.py:652
+#: ../Thuban/UI/projdialog.py:655
 msgid "Clarke 1880"
 msgstr "Clarke 1880"
 
-#: ../Thuban/UI/projdialog.py:653
+#: ../Thuban/UI/projdialog.py:656
 msgid "GRS 1980 (IUGG, 1980)"
 msgstr "GRS 1980 (IUGG, 1980)"
 
-#: ../Thuban/UI/projdialog.py:654
+#: ../Thuban/UI/projdialog.py:657
 msgid "International 1909 (Hayford)"
 msgstr "International 1909 (Hayford)"
 
-#: ../Thuban/UI/projdialog.py:655
+#: ../Thuban/UI/projdialog.py:658
 msgid "WGS 84"
 msgstr "WGS 84"
 
-#: ../Thuban/UI/projdialog.py:667
+#: ../Thuban/UI/projdialog.py:670
 msgid "Ellipsoid:"
 msgstr "Rotationsellipsoid"
 
-#: ../Thuban/UI/projdialog.py:716
+#: ../Thuban/UI/projdialog.py:719
 msgid ""
 "Thuban does not know the parameters\n"
 "for the current projection and cannot\n"
@@ -1653,79 +1692,79 @@
 "Die nicht erkannten Parameter sind:\n"
 "\n"
 
-#: ../Thuban/UI/projdialog.py:762
+#: ../Thuban/UI/projdialog.py:765
 msgid "Latitude:"
 msgstr "Breitengrad:"
 
-#: ../Thuban/UI/projdialog.py:764
+#: ../Thuban/UI/projdialog.py:767
 msgid "Longitude:"
 msgstr "Längengrad:"
 
-#: ../Thuban/UI/projdialog.py:766 ../Thuban/UI/projdialog.py:910
+#: ../Thuban/UI/projdialog.py:769 ../Thuban/UI/projdialog.py:913
 msgid "False Easting:"
 msgstr "Falsche Ostausrichtung:"
 
-#: ../Thuban/UI/projdialog.py:768 ../Thuban/UI/projdialog.py:912
+#: ../Thuban/UI/projdialog.py:771 ../Thuban/UI/projdialog.py:915
 msgid "False Northing:"
 msgstr "Falsche Nordausrichtung:"
 
-#: ../Thuban/UI/projdialog.py:770
+#: ../Thuban/UI/projdialog.py:773
 msgid "Scale Factor:"
 msgstr "Skalierungsfaktor:"
 
-#: ../Thuban/UI/projdialog.py:821
+#: ../Thuban/UI/projdialog.py:824
 msgid "Propose"
 msgstr "Vorschlagen"
 
-#: ../Thuban/UI/projdialog.py:823
+#: ../Thuban/UI/projdialog.py:826
 msgid "Southern Hemisphere"
 msgstr "Südliche Hemisphäre"
 
-#: ../Thuban/UI/projdialog.py:833
+#: ../Thuban/UI/projdialog.py:836
 msgid "Zone:"
 msgstr "Zone:"
 
-#: ../Thuban/UI/projdialog.py:870
+#: ../Thuban/UI/projdialog.py:873
 msgid "Can not propose: No bounding box found."
 msgstr "Kann nicht vorgeschlagen werden: Da keine Bounding Box gefunden wurde."
 
-#: ../Thuban/UI/projdialog.py:871 ../Thuban/UI/projdialog.py:1008
+#: ../Thuban/UI/projdialog.py:874 ../Thuban/UI/projdialog.py:1011
 msgid "Projection: Propose UTM Zone"
 msgstr "Projektion: Vorschlag UTM Zone"
 
-#: ../Thuban/UI/projdialog.py:901
+#: ../Thuban/UI/projdialog.py:904
 msgid "Latitude of first standard parallel:"
 msgstr "Standard-Parallelkreis 1:"
 
-#: ../Thuban/UI/projdialog.py:904
+#: ../Thuban/UI/projdialog.py:907
 msgid "Latitude of second standard parallel:"
 msgstr "Standard-Parallelkreis 2:"
 
-#: ../Thuban/UI/projdialog.py:906
+#: ../Thuban/UI/projdialog.py:909
 msgid "Central Meridian:"
 msgstr "Zentraler Meridian:"
 
-#: ../Thuban/UI/projdialog.py:908
+#: ../Thuban/UI/projdialog.py:911
 msgid "Latitude of origin:"
 msgstr "Geographische Breitenreferenz:"
 
-#: ../Thuban/UI/projdialog.py:958
+#: ../Thuban/UI/projdialog.py:961
 msgid "Degrees"
 msgstr "Grade"
 
-#: ../Thuban/UI/projdialog.py:959
+#: ../Thuban/UI/projdialog.py:962
 msgid "Radians"
 msgstr "Radiant"
 
-#: ../Thuban/UI/projdialog.py:992
+#: ../Thuban/UI/projdialog.py:995
 msgid "Source Data is in: "
 msgstr "Quelldaten sind in:"
 
-#: ../Thuban/UI/projdialog.py:1021
+#: ../Thuban/UI/projdialog.py:1024
 msgid "The current map extent center lies in UTM Zone"
 msgstr "Die gegenwärtige Kartenausdehnung liegt in der UTM Zone"
 
-#: ../Thuban/UI/projdialog.py:1031
+#: ../Thuban/UI/projdialog.py:1034
 msgid "Take"
 msgstr "Übernehmen"
 
@@ -1779,48 +1818,53 @@
 msgid "Opacity:"
 msgstr "Opazität:"
 
-#: ../Thuban/UI/tableview.py:381
+#: ../Thuban/UI/tableview.py:382
 msgid "Replace Selection"
 msgstr "Ersetze Selektion"
 
-#: ../Thuban/UI/tableview.py:382
+#: ../Thuban/UI/tableview.py:383
 msgid "Refine Selection"
 msgstr "Selektion verfeinern"
 
-#: ../Thuban/UI/tableview.py:383
+#: ../Thuban/UI/tableview.py:384
 msgid "Add to Selection"
 msgstr "Zu Selektion hinzufügen"
 
-#: ../Thuban/UI/tableview.py:385
+#: ../Thuban/UI/tableview.py:386
 msgid "Query"
 msgstr "Abfrage"
 
-#: ../Thuban/UI/tableview.py:387
+#: ../Thuban/UI/tableview.py:388
 msgid "Export Selection"
 msgstr "Selektion exportieren"
 
-#: ../Thuban/UI/tableview.py:413
+#: ../Thuban/UI/tableview.py:414
 msgid "Selection"
 msgstr "Selektion"
 
-#: ../Thuban/UI/tableview.py:455
+#: ../Thuban/UI/tableview.py:456
 #, python-format
 msgid "%i rows (%i selected), %i columns"
 msgstr "%i Zeilen (%i ausgewählt), %i Spalten"
 
-#: ../Thuban/UI/tableview.py:535
+#: ../Thuban/UI/tableview.py:536
 msgid "Export Table To"
 msgstr "Exportiere Tabelle nach"
 
-#: ../Thuban/UI/tableview.py:536
+#: ../Thuban/UI/tableview.py:537
 msgid "DBF Files (*.dbf)|*.dbf|"
 msgstr "DBF Dateien (*.dbf)|*.dbf|"
 
-#: ../Thuban/UI/tableview.py:537
+#: ../Thuban/UI/tableview.py:538 ../Extensions/bboxdump/bboxdump.py:140
 msgid "CSV Files (*.csv)|*.csv|"
 msgstr "CSV Dateien (*.csv)|*.csv|"
 
-#: ../Thuban/UI/tableview.py:538
+#: ../Thuban/UI/tableview.py:539 ../Extensions/bboxdump/bboxdump.py:141
+#: ../Extensions/gns2shp/gns2shp.py:130
+#: ../Extensions/importAPR/importAPR.py:172
+#: ../Extensions/umn_mapserver/mf_import.py:535
+#: ../Extensions/umn_mapserver/mf_import.py:569
+#: ../Extensions/umn_mapserver/mf_import.py:635
 msgid "All Files (*.*)|*.*"
 msgstr "Alle Dateien (*.*)|*.*"
 
@@ -1828,9 +1872,735 @@
 msgid "Session"
 msgstr "Sitzung"
 
-#: ../Thuban/UI/view.py:285
+#: ../Thuban/UI/view.py:286
 msgid "Export Map"
 msgstr "Exportiere Karte"
 
-#~ msgid "Mask Type"
-#~ msgstr "Maskentyp"
+#: ../Extensions/bboxdump/bboxdump.py:84
+msgid "File:"
+msgstr "Datei:"
+
+#: ../Extensions/bboxdump/bboxdump.py:91
+msgid "Group by:"
+msgstr "Gruppiere nach:"
+
+#: ../Extensions/bboxdump/bboxdump.py:129
+#, python-format
+msgid "Bounding Box Dump %s"
+msgstr "Ausdehnungsbereiche ('bounding-box') Ausgabe %s"
+
+#: ../Extensions/bboxdump/bboxdump.py:137
+msgid "Dump Bounding Boxes To"
+msgstr "Schreibe Ausdehnungsbereiche ('bounding-boxes') in"
+
+#: ../Extensions/bboxdump/bboxdump.py:162
+#: ../Extensions/bboxdump/bboxdump.py:195
+#: ../Extensions/bboxdump/bboxdump.py:230
+msgid "Bounding Box Dump"
+msgstr "Liste der Ausdehungsbereiche"
+
+#: ../Extensions/bboxdump/bboxdump.py:163
+msgid "Collecting shapes ..."
+msgstr "Sammle 'shapes' zusammen ..."
+
+#: ../Extensions/bboxdump/bboxdump.py:196
+msgid "Dump bounding boxes of selected shapes ..."
+msgstr "Schreibe Ausdehnungsbereiche ('bounding-boxes') "
+"von ausgewählen 'shapes' ..."
+
+#: ../Extensions/bboxdump/bboxdump.py:238
+msgid "BBox Dump"
+msgstr "'BBox Dump'"
+
+#: ../Extensions/bboxdump/bboxdump.py:239
+msgid "Dump Bounding Boxes of Layer Objects"
+msgstr "Schreibe Ausdehnungsbereiche ('bounding-boxes') von Ebenen-Objekten"
+
+#: ../Extensions/bboxdump/bboxdump.py:243
+#: ../Extensions/export_shapefile/export_shapefile.py:97
+#: ../Extensions/gns2shp/gns2shp.py:183
+#: ../Extensions/importAPR/importAPR.py:336
+#: ../Extensions/mouseposition/mouseposition.py:116
+#: ../Extensions/ogr/ogrstart.py:203 ../Extensions/svgexport/maplegend.py:178
+#: ../Extensions/svgexport/svgsaver.py:104
+msgid "E&xtensions"
+msgstr "Er&weiterungen"
+
+#: ../Extensions/bboxdump/__init__.py:21
+msgid ""
+"Dumps the bounding boxes of all\n"
+"shapes of the selected layer."
+msgstr ""
+"Gibt die 'Bounding Boxen' aller\n"
+"'Shapes' der ausgewählten Ebene aus."
+
+#: ../Extensions/export_shapefile/export_shapefile.py:39
+#: ../Extensions/export_shapefile/export_shapefile.py:45
+#: ../Extensions/export_shapefile/export_shapefile.py:68
+msgid "Export Shapefile"
+msgstr "Exportiere Shapefile"
+
+#: ../Extensions/export_shapefile/export_shapefile.py:40
+msgid "No layer selected"
+msgstr "Keine Ebene ausgewählt"
+
+#: ../Extensions/export_shapefile/export_shapefile.py:46
+msgid "Shapefile  Files (*.shp)|*.shp|"
+msgstr "Shapefiles (*.shp)|*.shp|"
+
+#: ../Extensions/export_shapefile/export_shapefile.py:69
+msgid "Storing shapes ..."
+msgstr "Speichere 'shapes' ..."
+
+#: ../Extensions/export_shapefile/export_shapefile.py:91
+#: ../Extensions/importAPR/importAPR.py:331
+msgid "(experimental) "
+msgstr "(experimentell) "
+
+#: ../Extensions/export_shapefile/export_shapefile.py:91
+msgid "Export Layer as Shapefile ..."
+msgstr "Exportiere Ebene als Shapefile ..."
+
+#: ../Extensions/export_shapefile/export_shapefile.py:93
+msgid "Export the active layer as a Shapefile"
+msgstr "Exportiere die aktive Karte als Shapefile"
+
+#: ../Extensions/export_shapefile/__init__.py:22
+msgid "Exports the selected layer as a Shapefile."
+msgstr "Exportiert die ausgewählte Ebene als Shapefile."
+
+#: ../Extensions/gns2shp/gns2shp.py:128
+msgid "Select GNS file"
+msgstr "Wähle die GNS Datei."
+
+#: ../Extensions/gns2shp/gns2shp.py:129
+msgid "Generate Files (*.txt)|*.txt|"
+msgstr "Generiere Dateien (*.txt)|*.txt|"
+
+#: ../Extensions/gns2shp/gns2shp.py:140
+msgid "gns2shp"
+msgstr "gns2shp"
+
+#: ../Extensions/gns2shp/gns2shp.py:140
+msgid "Conversion failed"
+msgstr "Umwandlung schlug fehl"
+
+#: ../Extensions/gns2shp/gns2shp.py:143
+#, python-format
+msgid "gns2shp %s"
+msgstr "gns2shp %s"
+
+#: ../Extensions/gns2shp/gns2shp.py:144
+#, python-format
+msgid "%d locations converted"
+msgstr "%d Orte umgewandelt"
+
+#: ../Extensions/gns2shp/gns2shp.py:155
+msgid "Add GNS Layer"
+msgstr "GNS Ebene hinzufügen"
+
+#: ../Extensions/gns2shp/gns2shp.py:179
+msgid "gns2shp..."
+msgstr "gns2shp..."
+
+#: ../Extensions/gns2shp/gns2shp.py:180
+msgid "Convert GNS-file into a shapefile"
+msgstr "Wandle GNS-Datei in ein Shapefile"
+
+#: ../Extensions/gns2shp/__init__.py:22
+msgid ""
+"Converts GNS (Geographical Name Service\n"
+"of NIMA) to Shapefile format and\n"
+"displays the data."
+msgstr ""
+"Wandelt GNS (Geographical Name Service\n"
+"of NIMA) Dateien ins Shapefile-Format um\n"
+"und zeigt die Daten an."
+
+#: ../Extensions/importAPR/importAPR.py:108
+#, python-format
+msgid "Format version: %s"
+msgstr "Format Version: %s"
+
+#: ../Extensions/importAPR/importAPR.py:110
+#, python-format
+msgid "Project Name: %s"
+msgstr "Projekt Name: %s"
+
+#: ../Extensions/importAPR/importAPR.py:113
+#, python-format
+msgid "ODB File '%s'"
+msgstr "ODB Datei '%s'"
+
+#: ../Extensions/importAPR/importAPR.py:170
+msgid "Select APR file"
+msgstr "APR Datei auswählen"
+
+#: ../Extensions/importAPR/importAPR.py:171
+msgid "ArcView Project Files (*.apr)|*.apr|"
+msgstr "ArcView Projekt Dateien (*.apr)|*.apr|"
+
+#: ../Extensions/importAPR/importAPR.py:182
+#: ../Extensions/importAPR/importAPR.py:185
+#: ../Extensions/importAPR/importAPR.py:199
+#: ../Extensions/importAPR/importAPR.py:208
+#: ../Extensions/importAPR/importAPR.py:295
+msgid "Import APR"
+msgstr "Importiere APR"
+
+#: ../Extensions/importAPR/importAPR.py:182
+msgid "Loading failed"
+msgstr "Das Einladen schlug fehl"
+
+#: ../Extensions/importAPR/importAPR.py:186
+#, python-format
+msgid "%d objects loaded"
+msgstr "%d Punkte geladen"
+
+#: ../Extensions/importAPR/importAPR.py:200
+msgid "No view found in APR file"
+msgstr "Keine Sicht ('view') in der APR gefunden"
+
+#: ../Extensions/importAPR/importAPR.py:207
+msgid "Pick a View to import:"
+msgstr "Wähle eine zu importierende Sicht ('view'):"
+
+#: ../Extensions/importAPR/importAPR.py:296
+#, python-format
+msgid "Imported %d out of %d themes of view \"%s\" ..."
+msgstr "Importierte %d von %d Themen der Sicht  ('view') \"%s\" ..."
+
+#: ../Extensions/importAPR/importAPR.py:331
+msgid "Import apr-file..."
+msgstr "Importiere apr-Datei..."
+
+#: ../Extensions/importAPR/importAPR.py:332
+msgid "Import a ArcView project file"
+msgstr "Importiere eine ArcView Projekt-Datei"
+
+#: ../Extensions/importAPR/__init__.py:20
+msgid ""
+"Import a ArcView project file (.apr)\n"
+"and convert it to Thuban."
+msgstr ""
+"Importiere eine ArcView Projekt-Datei (.apr)\n"
+"und wandel sie um nach Thuban."
+
+#: ../Extensions/importAPR/odb.py:123
+#, python-format
+msgid "Unknown Object list named: '%s'"
+msgstr "Unbekanntes Listenobjekt names: '%s'"
+
+#: ../Extensions/importAPR/odb.py:126
+#, python-format
+msgid "Unknown Value named: '%s' with value '%s'"
+msgstr "Unbekanter Wert names: '%s' mit Wert '%s'"
+
+#: ../Extensions/importAPR/odb.py:129
+#, python-format
+msgid "Unknown Object named: %s"
+msgstr "Unbekanntes Objekt namens: %s"
+
+#: ../Extensions/mouseposition/__init__.py:20
+msgid ""
+"On mouse click display the current coordinates\n"
+"in a dialog for easy further processing."
+msgstr ""
+"Bei Mausklick zeigt die aktuellen Koordinaten\n"
+"in einem Fenster für leichtere Weiterverwendung."
+
+#: ../Extensions/mouseposition/mouseposition.py:89
+msgid "Mouse Position Tool"
+msgstr "Maus-Positions-Werkzeug"
+
+#: ../Extensions/ogr/__init__.py:36
+msgid "Open a file supported by ogr."
+msgstr "Öffne eine Datei, welche von ogr verstanden wird."
+
+#: ../Extensions/ogr/ogrdialog.py:38
+msgid "Choose file format"
+msgstr "Wähle ein Datei-Format"
+
+#: ../Extensions/ogr/ogrdialog.py:118
+msgid "Choose layer"
+msgstr "Wähle Ebene"
+
+#: ../Extensions/ogr/ogrdialog.py:134 ../Extensions/wms/properties.py:113
+msgid "Layers"
+msgstr "Ebenen"
+
+#: ../Extensions/ogr/ogrdialog.py:360
+msgid "URL:"
+msgstr "URL:"
+
+#: ../Extensions/ogr/ogrstart.py:39
+msgid "GML files (*.gml)"
+msgstr "GML Dateien (*.gml)"
+
+#: ../Extensions/ogr/ogrstart.py:40
+msgid "MapInfo files (*.tab)"
+msgstr "MapInfo Dateien (*.tab)"
+
+#: ../Extensions/ogr/ogrstart.py:41
+msgid "DGN files (*.dgn)"
+msgstr "DGN Dateien (*.dgn)"
+
+#: ../Extensions/ogr/ogrstart.py:42
+msgid "CSV files (*.csv)"
+msgstr "CSV Dateien (*.csv)"
+
+#: ../Extensions/ogr/ogrstart.py:44
+msgid "Select a data file"
+msgstr "Eine Daten-Datei wählen"
+
+#: ../Extensions/ogr/ogrstart.py:158 ../Extensions/ogr/ogrstart.py:186
+msgid "Open datasource"
+msgstr "Öffne Datenquelle"
+
+#: ../Extensions/ogr/ogrstart.py:159 ../Extensions/ogr/ogrstart.py:187
+#, python-format
+msgid "Can't open the datasource '%s'"
+msgstr "Kann die Datenquell '%s' nicht öffnen."
+
+#: ../Extensions/ogr/ogrstart.py:204
+msgid "(testing) "
+msgstr "(probeweise) "
+
+#: ../Extensions/ogr/ogrstart.py:204
+msgid "Open layer via OGR"
+msgstr "Öffne Ebene per OGR"
+
+#: ../Extensions/profiling/__init__.py:20
+msgid ""
+"Provide a profiler and a timer\n"
+"for screen rendering."
+msgstr ""
+"Bereitstellung einer Laufzeitanalyse\n"
+"für die Zeichnen auf dem Bildschirm."
+
+#: ../Extensions/svgexport/__init__.py:33
+msgid "Export the current map and legend in Thuban-map-SVG format."
+msgstr "Exportiere die aktuelle Karte und Legende im Thuban-map-SVG-Format."
+
+#: ../Extensions/svgexport/maplegend.py:137
+#: ../Extensions/svgexport/svgsaver.py:50
+msgid "Write SVG"
+msgstr "Schreibe SVG"
+
+#: ../Extensions/svgexport/maplegend.py:174
+msgid "Write SVG Legend"
+msgstr "Schreibe SVG Legende"
+
+#: ../Extensions/svgexport/maplegend.py:175
+msgid "Write a basic Legend for the map."
+msgstr "Schreibe eine Basis-Legende für die Karte"
+
+#: ../Extensions/svgexport/svgmapwriter.py:288
+msgid "Clash of layer names!\n"
+msgstr "Namen von Ebenen stehen im Konflikt!\n"
+
+#: ../Extensions/svgexport/svgmapwriter.py:289
+msgid "Two layers probably have the same name, try renaming one."
+msgstr ""
+"Zwei Ebenen haben vermutlich den selben Name, versuchen Sie eine "
+"Umzubenennen."
+
+#: ../Extensions/svgexport/svgmapwriter.py:347
+msgid "Warning: Raster layer not written as "
+msgstr "Warnung: Die Raster-Daten-Ebene wurde nicht geschrieben weil "
+
+#: ../Extensions/svgexport/svgmapwriter.py:665
+msgid "Internal make_id() failure: "
+msgstr "Interner make_id() Fehlschlag: "
+
+#: ../Extensions/svgexport/svgsaver.py:83
+msgid "Error: SVG not written!"
+msgstr "Fehler: SVG nicht geschrieben!"
+
+#: ../Extensions/svgexport/svgsaver.py:84
+msgid "Could not write SVG because: "
+msgstr "Konnte SVG nicht schreiben, weil:"
+
+#: ../Extensions/svgexport/svgsaver.py:100
+msgid "Write SVG Map"
+msgstr "Schreibe SVG Karte"
+
+#: ../Extensions/svgexport/svgsaver.py:101
+msgid "Export the map into an SVG file"
+msgstr "Exportiere die Karte in eine SVG-Datei"
+
+#: ../Extensions/umn_mapserver/__init__.py:32
+msgid ""
+"Provide management methods for UMN MapServer\n"
+".map-files. These can be created/imported/modified."
+msgstr ""
+"Bereitstellung von Verwaltungsmethoden für .map-Dateien des UNM Mapserver.\n"
+" Diese können erstellt, importiert und geändert werden."
+
+#: ../Extensions/umn_mapserver/mf_export.py:187
+msgid "Export mapfile"
+msgstr "Exportiere .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_export.py:188
+msgid "Create a new mapfile"
+msgstr "Erstelle eine neue .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_export.py:193
+#: ../Extensions/umn_mapserver/mf_handle.py:1351
+#: ../Extensions/umn_mapserver/mf_import.py:741 ../Extensions/wms/wms.py:153
+msgid "Experimenta&l"
+msgstr "Experimente&ll"
+
+#: ../Extensions/umn_mapserver/mf_export.py:196
+#: ../Extensions/umn_mapserver/mf_handle.py:1354
+#: ../Extensions/umn_mapserver/mf_import.py:743
+msgid "&MapServer"
+msgstr "&MapServer"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:79
+msgid "Map-Name:"
+msgstr "Karten-Name:"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:86
+#: ../Extensions/umn_mapserver/mf_handle.py:617
+#: ../Extensions/umn_mapserver/mf_handle.py:921
+msgid "Size"
+msgstr "Größe"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:91
+#: ../Extensions/umn_mapserver/mf_handle.py:446
+#: ../Extensions/umn_mapserver/mf_handle.py:466
+#: ../Extensions/umn_mapserver/mf_handle.py:926
+msgid "Width: "
+msgstr "Breite: "
+
+#: ../Extensions/umn_mapserver/mf_handle.py:96
+#: ../Extensions/umn_mapserver/mf_handle.py:453
+#: ../Extensions/umn_mapserver/mf_handle.py:473
+#: ../Extensions/umn_mapserver/mf_handle.py:931
+msgid "Height: "
+msgstr "Höhe: "
+
+#: ../Extensions/umn_mapserver/mf_handle.py:113
+msgid "Image Type"
+msgstr "Bild-Typ"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:125
+#: ../Extensions/umn_mapserver/mf_handle.py:961
+msgid "Unit Type"
+msgstr "Einheiten-Typ"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:136
+#: ../Extensions/umn_mapserver/mf_handle.py:481
+msgid "ImageColor"
+msgstr "BildFarbe"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:148
+#: ../Extensions/umn_mapserver/mf_handle.py:492
+#: ../Extensions/umn_mapserver/mf_handle.py:640
+#: ../Extensions/umn_mapserver/mf_handle.py:866
+msgid "Change Color"
+msgstr "Farbe ändern"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:250
+msgid "Template:"
+msgstr "Vorlage:"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:260
+msgid "Imagepath:"
+msgstr "Bildpfad:"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:269
+msgid "Imageurl:"
+msgstr "Bild-URL:"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:343
+msgid "Layer-Name:"
+msgstr "Ebenen-Name:"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:349
+msgid "Edit Metadata"
+msgstr "Editieren Metadaten"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:358
+msgid "Group:"
+msgstr "Gruppe:"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:441
+msgid "KeySize"
+msgstr "SchlüsselGröße"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:461
+msgid "KeySpacing"
+msgstr "SchlüsselAbstand"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:520
+#: ../Extensions/umn_mapserver/mf_handle.py:972
+msgid "Change Label"
+msgstr "Ändere Bezeichnung"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:629
+#: ../Extensions/umn_mapserver/mf_handle.py:855
+msgid "Color"
+msgstr "Farbe"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:649
+msgid "Type"
+msgstr "Typ"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:662
+msgid "Offset"
+msgstr "Versatz ('Offset')"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:667
+msgid "X: "
+msgstr "X: "
+
+#: ../Extensions/umn_mapserver/mf_handle.py:674
+msgid "Y: "
+msgstr "Y: "
+
+#: ../Extensions/umn_mapserver/mf_handle.py:698
+msgid "Buffer"
+msgstr "Puffer"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:710
+msgid "Minfeaturesize"
+msgstr "MinElementgröße"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:723
+msgid "Mindistance"
+msgstr "MinAbstand"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:875
+msgid "Image Color"
+msgstr "Bild-Farbe"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:886
+msgid "Change ImageColor"
+msgstr "Ändere Bildfarbe"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:893
+msgid "Intervals"
+msgstr "Intervalle"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1358
+msgid "&Edit mapfile"
+msgstr "&Editiere .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1363
+msgid "Edit the Map Setting"
+msgstr "Bearbeite die Karten-Einstellungen"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1370
+msgid "Web"
+msgstr "Web"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1372
+msgid "Edit the Web Setting"
+msgstr "Bearbeite die Web-Einstellungen"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1378
+msgid "Layer"
+msgstr "Ebene"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1380
+msgid "Edit the Layer Setting of the active Layer"
+msgstr "Die Einstellungen der aktiven Ebenen bearbeiten"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1388
+msgid "Edit the Legend Setting"
+msgstr "Bearbeite die Legenden-Einstellungen"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1394
+msgid "Scalebar"
+msgstr "Maßstabsleiste"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1396
+msgid "Edit the Scalebar Setting"
+msgstr "Bearbeite die Maßstabsleisten-Einstellungen"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1402
+msgid "Metadata"
+msgstr "Metadaten"
+
+#: ../Extensions/umn_mapserver/mf_handle.py:1404
+msgid "Edit the Metadata Setting"
+msgstr "Bearbeite die Metadaten-Einstellungen"
+
+#: ../Extensions/umn_mapserver/mf_import.py:266
+#: ../Extensions/umn_mapserver/mf_import.py:345
+msgid "Error Loading Layer"
+msgstr "Fehler Laden der Ebene"
+
+#: ../Extensions/umn_mapserver/mf_import.py:267
+#: ../Extensions/umn_mapserver/mf_import.py:346
+#, python-format
+msgid "no shp file definied, maybe used a feature obj '%s'."
+msgstr "Keine shp-Datein definiert, viellecht ein Element ojb '%s' benutzt'"
+
+#: ../Extensions/umn_mapserver/mf_import.py:273
+#: ../Extensions/umn_mapserver/mf_import.py:352
+msgid "Open Shapepath"
+msgstr "Öffne Shapepfad"
+
+#: ../Extensions/umn_mapserver/mf_import.py:301
+msgid "Error Loading Raster Layer"
+msgstr "Fehler Laden Raster-Daten Ebene"
+
+#: ../Extensions/umn_mapserver/mf_import.py:302
+#, python-format
+msgid "Can't open the rasterlayer '%s'."
+msgstr "Kann die Raster-Daten Datei '%s' nicht öffnen."
+
+#: ../Extensions/umn_mapserver/mf_import.py:451
+msgid "Error Loading Expression"
+msgstr "Fehler Laden der Ausdrücke"
+
+#: ../Extensions/umn_mapserver/mf_import.py:452
+#, python-format
+msgid "%s \n"
+msgstr "%s \n"
+
+#: ../Extensions/umn_mapserver/mf_import.py:502
+#: ../Extensions/umn_mapserver/mf_import.py:505
+#: ../Extensions/umn_mapserver/mf_import.py:549
+#: ../Extensions/umn_mapserver/mf_import.py:552
+msgid "Loading Layer"
+msgstr "Lade Ebene"
+
+#: ../Extensions/umn_mapserver/mf_import.py:503
+#: ../Extensions/umn_mapserver/mf_import.py:550
+msgid "No Layer found."
+msgstr "Keine Ebene gefunden."
+
+#: ../Extensions/umn_mapserver/mf_import.py:506
+#: ../Extensions/umn_mapserver/mf_import.py:553
+#, python-format
+msgid "%s Layer loaded from file."
+msgstr "Ebene %s von Datei geladen."
+
+#: ../Extensions/umn_mapserver/mf_import.py:533
+#: ../Extensions/umn_mapserver/mf_import.py:567
+#: ../Extensions/umn_mapserver/mf_import.py:633
+msgid "Select MapFile file"
+msgstr "Wähle .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_import.py:534
+#: ../Extensions/umn_mapserver/mf_import.py:568
+#: ../Extensions/umn_mapserver/mf_import.py:634
+msgid "UMN MapServer Mapfiles (*.map)|*.map|"
+msgstr "UMN MapServer .map-Dateien (*.map)|*.map|"
+
+#: ../Extensions/umn_mapserver/mf_import.py:613
+#: ../Extensions/umn_mapserver/mf_import.py:705
+msgid "Layer loaded"
+msgstr "Ebene geladen"
+
+#: ../Extensions/umn_mapserver/mf_import.py:614
+#: ../Extensions/umn_mapserver/mf_import.py:706
+#, python-format
+msgid "%s Layer loaded into Thuban"
+msgstr "Ebene %s in Thuban geladen"
+
+#: ../Extensions/umn_mapserver/mf_import.py:746
+msgid "Create new mapfile"
+msgstr "Erstelle neue .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_import.py:748
+msgid "Create a new empty mapscript MapObj"
+msgstr "Erstelle ein neues, leeres Mapscript MapObj"
+
+#: ../Extensions/umn_mapserver/mf_import.py:753
+msgid "Import mapfile"
+msgstr "Importiere .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_import.py:754
+msgid "Import a mapfile"
+msgstr "Importiere eine .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_import.py:759
+msgid "Import layer from mapfile"
+msgstr "Importiere Ebene aus .map-Datei"
+
+#: ../Extensions/umn_mapserver/mf_import.py:761
+msgid "Import a layer from a mapfile"
+msgstr "Importiere eine Ebene aus einer .map-Datei"
+
+#: ../Extensions/wms/capabilities.py:117
+#, python-format
+msgid "Resource '%s' is neither local file nor URL"
+msgstr "Resource '%s' is weder eine lokale Datei noch eine URL"
+
+#: ../Extensions/wms/capabilities.py:143
+#, python-format
+msgid "Resource '%s' does support neither WMS version 1.1 nor 1.0"
+msgstr "Resource '%s' unterstützt weder WMS-Version 1.1 noch 1.0"
+
+#: ../Extensions/wms/capabilities.py:156
+msgid "No capabilities available"
+msgstr "Keine Angaben ('capabilities') verfügbar"
+
+#: ../Extensions/wms/capabilities.py:163
+#, python-format
+msgid "Can't open file '%s' for writing"
+msgstr "Kann Datei '%s' nicht zum Schreiben öffnen."
+
+#: ../Extensions/wms/capabilities.py:175
+#, python-format
+msgid "Can't open file '%s' for reading"
+msgstr "Kann Datei '%s' nicht zum Lesen öffnen."
+
+#: ../Extensions/wms/infodialog.py:55
+msgid "WMS Information"
+msgstr "WMS Informationen"
+
+#: ../Extensions/wms/infodialog.py:109
+msgid "Fees:"
+msgstr "Gebühren:"
+
+#: ../Extensions/wms/infodialog.py:113
+msgid "Access Constraints:"
+msgstr "Zugangsbeschränkungen:"
+
+#: ../Extensions/wms/__init__.py:28
+msgid "Provide layers via OGC WMS."
+msgstr "Bereitstellung von Ebenen per OGCs WMS."
+
+#: ../Extensions/wms/parser.py:173
+#, python-format
+msgid "No title found for layer #%d"
+msgstr "Kein Titel für Ebene #%d gefunden"
+
+#: ../Extensions/wms/parser.py:198
+#, python-format
+msgid "SRS '%s' is not numerical and not AUTO/NONE in layer '%s'"
+msgstr "SRS '%s' ist nicht numerisch und nicht AUTO/NONE in Ebene '%s'"
+
+#: ../Extensions/wms/properties.py:79
+msgid "Edit WMS Properties"
+msgstr "Bearbeite WMS-Einstellungen"
+
+#: ../Extensions/wms/properties.py:108
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../Extensions/wms/properties.py:131
+msgid "Format:"
+msgstr "Format:"
+
+#: ../Extensions/wms/wms.py:74
+msgid "Select WMS Server"
+msgstr "Wähle WMS Server"
+
+#: ../Extensions/wms/wms.py:132
+msgid "WMS"
+msgstr "WMS"
+
+#: ../Extensions/wms/wms.py:148
+msgid "Add WMS layer ..."
+msgstr "WMS-Ebene hinzufügen ..."
+
+#: ../Extensions/wms/wms.py:149
+msgid "Add a WMS Layer"
+msgstr "Eine WMS-Ebene hinzufügen"

Modified: branches/WIP-pyshapelib-Unicode/thuban/po/es.po
===================================================================
--- branches/WIP-pyshapelib-Unicode/thuban/po/es.po	2008-01-29 19:00:09 UTC (rev 2819)
+++ branches/WIP-pyshapelib-Unicode/thuban/po/es.po	2008-01-29 19:08:21 UTC (rev 2820)
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: Thuban 1.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-08 14:25+0000\n"
+"POT-Creation-Date: 2008-01-27 23:25+0000\n"
 "PO-Revision-Date: 2007-11-29 22:57-0500\n"
 "Last-Translator: Daniel Calvelo Aros <dcalvelo at gmail.com>\n"
 "Language-Team: Thuban <thuban-devel at intevation.de>\n"
@@ -71,7 +71,7 @@
 msgid "invalid index"
 msgstr "índice no válido"
 
-#: ../Thuban/Model/classification.py:309 ../Thuban/UI/classifier.py:758
+#: ../Thuban/Model/classification.py:309 ../Thuban/UI/classifier.py:759
 msgid "None"
 msgstr "Ninguno"
 
@@ -93,7 +93,7 @@
 msgid "Fill"
 msgstr "Llenado"
 
-#: ../Thuban/Model/classification.py:342 ../Thuban/UI/classifier.py:841
+#: ../Thuban/Model/classification.py:342 ../Thuban/UI/classifier.py:842
 msgid "Classification"
 msgstr "Clasificación"
 
@@ -105,7 +105,7 @@
 msgid "size < 1"
 msgstr "tamaño < 1"
 
-#: ../Thuban/Model/classification.py:656 ../Thuban/UI/classifier.py:528
+#: ../Thuban/Model/classification.py:656 ../Thuban/UI/classifier.py:529
 msgid "DEFAULT"
 msgstr "POR OMISIÓN"
 
@@ -113,7 +113,8 @@
 msgid "Table not compatible with shapestore."
 msgstr "Tabla no compatible con almacén de capas."
 
-#: ../Thuban/Model/extension.py:90
+#: ../Thuban/Model/extension.py:90 ../Extensions/importAPR/importAPR.py:37
+#: ../Extensions/wms/wms.py:42
 #, python-format
 msgid "Extension: %s"
 msgstr "Extensión: %s"
@@ -382,7 +383,8 @@
 #: ../Thuban/UI/about.py:160 ../Thuban/UI/classgen.py:92
 #: ../Thuban/UI/dbdialog.py:277 ../Thuban/UI/dock.py:371
 #: ../Thuban/UI/join.py:66 ../Thuban/UI/layerproperties.py:82
-#: ../Thuban/UI/projdialog.py:209 ../Thuban/UI/tableview.py:388
+#: ../Thuban/UI/projdialog.py:210 ../Thuban/UI/tableview.py:389
+#: ../Extensions/wms/infodialog.py:77 ../Extensions/wms/wms.py:87
 msgid "Close"
 msgstr "Cerrar"
 
@@ -391,12 +393,13 @@
 msgid "Select an alternative data file for %s"
 msgstr "Seleccione un archivo de datos alternativo para %s"
 
-#: ../Thuban/UI/altpathdialog.py:32 ../Thuban/UI/mainwindow.py:565
+#: ../Thuban/UI/altpathdialog.py:32 ../Thuban/UI/mainwindow.py:566
+#: ../Extensions/ogr/ogrstart.py:38
 msgid "Shapefiles (*.shp)"
 msgstr "Shapefiles (*.shp)"
 
-#: ../Thuban/UI/altpathdialog.py:33 ../Thuban/UI/mainwindow.py:566
-#: ../Thuban/UI/mainwindow.py:855
+#: ../Thuban/UI/altpathdialog.py:33 ../Thuban/UI/mainwindow.py:567
+#: ../Thuban/UI/mainwindow.py:856 ../Extensions/ogr/ogrstart.py:43
 msgid "All Files (*.*)"
 msgstr "Todos (*.*)"
 
@@ -417,19 +420,28 @@
 msgid "Alternative Path"
 msgstr "Ruta alternativa"
 
-#: ../Thuban/UI/application.py:110 ../Thuban/UI/application.py:122
+#: ../Thuban/UI/application.py:105
+#, fuzzy
+msgid "Cannot import the thuban_cfg module."
+msgstr "No se pudo importar el módulo de inicio thubanstart\n"
+
+#: ../Thuban/UI/application.py:107
+msgid "Trying to read ~/.thuban/thubanstart.py."
+msgstr ""
+
+#: ../Thuban/UI/application.py:119 ../Thuban/UI/application.py:131
 msgid "Cannot import the thubanstart module\n"
 msgstr "No se pudo importar el módulo de inicio thubanstart\n"
 
-#: ../Thuban/UI/application.py:115
+#: ../Thuban/UI/application.py:124
 msgid "No thubanstart module available\n"
 msgstr "El módulo de inicio thubanstart no está disponible\n"
 
-#: ../Thuban/UI/application.py:126
+#: ../Thuban/UI/application.py:135
 msgid "No ~/.thuban directory\n"
 msgstr "No existe el directorio ~/.thuban\n"
 
-#: ../Thuban/UI/application.py:166
+#: ../Thuban/UI/application.py:175
 msgid ""
 "This is the wxPython-based Graphical User Interface for exploring geographic "
 "data"
@@ -437,7 +449,7 @@
 "Esta es la Interfase Gráfica basada en wxPython para la exploración de datos "
 "geográficos"
 
-#: ../Thuban/UI/application.py:254
+#: ../Thuban/UI/application.py:263
 msgid ""
 "The current session contains Image layers,\n"
 "but the GDAL library is not available to draw them."
@@ -445,15 +457,15 @@
 "La sesión actual contiene capas de imagen,\n"
 "pero la biblioteca GDAL no está disponible para dibujarlas."
 
-#: ../Thuban/UI/application.py:259
+#: ../Thuban/UI/application.py:268
 msgid "Library not available"
 msgstr "Biblioteca no disponible"
 
-#: ../Thuban/UI/application.py:268 ../Thuban/UI/mainwindow.py:479
+#: ../Thuban/UI/application.py:277 ../Thuban/UI/mainwindow.py:479
 msgid "DB Connection Parameters"
 msgstr "Parámetros de Conexión a Base de Datos"
 
-#: ../Thuban/UI/application.py:364
+#: ../Thuban/UI/application.py:373
 #, python-format
 msgid ""
 "An unhandled exception occurred:\n"
@@ -522,7 +534,7 @@
 msgid "Field: %s"
 msgstr "Campo: %s"
 
-#: ../Thuban/UI/classgen.py:124 ../Thuban/UI/classifier.py:976
+#: ../Thuban/UI/classgen.py:124 ../Thuban/UI/classifier.py:977
 #, python-format
 msgid "Data Type: %s"
 msgstr "Tipo de Datos: %s"
@@ -5