diff --git a/debian/changelog b/debian/changelog index d515a3151c0..837a5e74f0f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,9 +7,10 @@ qgis (1.9.0) UNRELEASED; urgency=low * include cpt-city files * support DEB_BUILD_OPTIONS' parallel=n * add python-unittest2 build dependency for maverick and squeeze + * disable PyQgsRectangle test on lucid (depends on unittest2) * add python-qscintilla2 dependency to python-qgis - -- Jürgen E. Fischer Mon, 17 Sep 2012 18:08:47 +0200 + -- Jürgen E. Fischer Tue, 18 Sep 2012 22:18:25 +0200 qgis (1.8.0) UNRELEASED; urgency=low diff --git a/debian/rules b/debian/rules index 26899cd3785..812fd1adf9a 100755 --- a/debian/rules +++ b/debian/rules @@ -27,6 +27,10 @@ TESTMAKE=xvfb-run -a -n 1 -s "-screen 0 1280x1024x24 -dpi 96" $(MAKE) else TESTMAKE=$(MAKE) endif +ifneq (,$(findstring $(DISTRIBUTION),"lucid")) +# excludes tests requiring unittest2 not available on lucid +TESTMAKE += ARGS="-E PyQgsRectangle" +endif QGIS_MAJOR=$(shell sed -ne 's/SET(CPACK_PACKAGE_VERSION_MAJOR "\([0-9]*\)")/\1/p' CMakeLists.txt) QGIS_MINOR=$(shell sed -ne 's/SET(CPACK_PACKAGE_VERSION_MINOR "\([0-9]*\)")/\1/p' CMakeLists.txt) diff --git a/doc/TRANSLATORS b/doc/TRANSLATORS index fd425c0b9c6..6847f997147 100644 --- a/doc/TRANSLATORS +++ b/doc/TRANSLATORS @@ -1,36 +1,36 @@ - + - - - - - - + + + + + + - + - - + + - + - + - + diff --git a/i18n/qgis_de.ts b/i18n/qgis_de.ts index 6ecb49fc10c..f18e12eb9fd 100644 --- a/i18n/qgis_de.ts +++ b/i18n/qgis_de.ts @@ -1924,7 +1924,7 @@ Erweiterung wird nicht aktiviert. Fill nodata - "Kein Wert" füllen + "Leerwert" füllen Fill raster regions by interpolation from edges @@ -2686,7 +2686,7 @@ when pressing on the tool dialog's Help button. &Source No Data - Kein-Wert der &Quelle + &Quellleerwert @@ -2707,7 +2707,7 @@ when pressing on the tool dialog's Help button. &No data value - &Ohne-Wert + &Leerwert @@ -2918,7 +2918,7 @@ when pressing on the tool dialog's Help button. No data - Kein Datum + Leerwert @@ -3314,7 +3314,7 @@ direkt in Imagine, ArcGIS, GDAL direkt nutzbar. &No data - &Kein Datum + &Leerwert @@ -3392,7 +3392,7 @@ direkt in Imagine, ArcGIS, GDAL direkt nutzbar. Assign a specified nodata value to output bands. - Legt den Kein-Datum-Wert des Ausgabekanals fest. + Legt den Leerwert des Ausgabekanals fest. @@ -3407,7 +3407,7 @@ Der 'Grau'-wert (aus GDAL 1.7) ermöglicht Datensätze mit einer Farbt Fill Nodata - "Kein Wert" füllen + "Leerwert" füllen @@ -3542,7 +3542,7 @@ Der 'Grau'-wert (aus GDAL 1.7) ermöglicht Datensätze mit einer Farbt No data values - Kein-Datum-Werte + Leerwerte @@ -4825,104 +4825,104 @@ Ctl (Cmd) increments by 15 deg. Strg (Cmd) erhöht um 15 Grad. - + Style Manager... Stilmanager... - + Stretch Histogram to Full Dataset Histogramm auf den ganzen Datensatz strecken - + Embed Layers and Groups... Eingebettete Layer und Gruppen... - + &Copyright Label &Urheberrechtshinweis - + Creates a copyright label that is displayed on the map canvas. Erzeugt einen Urheberrechtshinweis auf dem Kartenbild. - + &North Arrow &Nordpfeil - + "Creates a north arrow that is displayed on the map canvas" "Erzeugt einen Nordpfeil und stellt ihn in der Karte dar" - + &Scale Bar &Maßstab - - + + Creates a scale bar that is displayed on the map canvas Erzeugt eine Maßstabsleiste, die im Kartenbild angezeigt wird - + Add WFS Layer... WFS-Layer hinzufügen... - + Add WFS Layer WFS-Layer hinzufügen - + Feature Action Objektaktion - - + + Pan Map to Selection Karte zur Auswahl verschieben - + Copy style Stil kopieren - + Paste style Stil einfügen - + Add WCS Layer... WCS-Layer hinzufügen... - + &Grid &Gitter - + Grid Gitter - + Pin/Unpin Labels Beschriftung anpinnen/lösen - + Pin/Unpin Labels Click or marquee on label to pin Shift unpins, Ctl (Cmd) toggles state @@ -4933,18 +4933,18 @@ Umschalt löst, Strg (Cmd) schalten um Funktioniert auf allen änderbaren Layern - - + + Highlight Pinned Labels Angepinnte Beschriftungen hervorheben - + Show/Hide Labels Beschriftungen anzeigen/ausblenden - + Show/Hide Labels Click or marquee on feature to show label Shift+click or marquee on label to hide it @@ -4954,34 +4954,34 @@ Objekt anklicken oder markieren, um die Beschriftung anzuzeigen Funktioniert auf allen ändernbaren Layern - + Html Annotation HTML-Beschriftung - - + + New Blank Project Neues leeres Projekt - + Local Cumulative Cut Stretch Lokale kommulative Schnittstreckung - + Local cumulative cut stretch using current extent, default limits and estimated values. Lokale kommulative Schnittstreckung mit aktueller Ausdehnung, Vorgabegrenzen und geschätzten Werten. - + Full Dataset Cumulative Cut Stretch Kommulative Schnittstreckung über Gesamtdatensatz - + Cumulative cut stretch using full dataset extent, default limits and estimated values. Kommulative Schnittstreckung über gesamten Datensatzausdehnung, Vorgabegrenzen und geschätzten Werten. @@ -5153,7 +5153,7 @@ Funktioniert auf allen ändernbaren Layern Local Histogram Stretch - Lokale Histogramdehnung + Lokale Histogrammstreckung @@ -5222,53 +5222,53 @@ Funktioniert auf allen ändernbaren Layern - + Run Feature Action Objektaktion ausführen - - + + Touch zoom and pan Zoomen und Verschieben durch Berührung - + Offset Curve Linie versetzen - + Python Console Python-Konsole - + Full histogram stretch Volle Histogrammstreckung - + Customization... Anpassungen... - + mActionCatchForCustomization mActionCatchForCustomization - + This is here just to avoid shortcut conflicts, the shortcut is caught in QgsCustomization Dies ist nur hier um widersprüchliche Kürzel zu vermeiden, das Kürzel wird in QgsCustomization abgefangen - + Ctrl+M Strg+M - + Embed layers and groups from other project files Eingebettete Layer und Gruppe aus anderen Projektdateien @@ -6318,16 +6318,6 @@ Bitte koorigieren Sie dies, da die OSM-Erweiterung nicht weiß welche Layer das Python Console Python-Konsole - - To access Quantum GIS environment from this console -use qgis.utils.iface object (instance of QgisInterface class). - - - Auf die Quantum GIS-Umgebung kann aus dieser Konsole über das Objekt -qgis.utils.iface object (instance of QgisInterface class) zugegriffen werden. - - - QGis::UnitType @@ -7140,11 +7130,11 @@ Would you like to specify path (GISBASE) to your GRASS installation? - - - - - + + + + + @@ -7991,15 +7981,20 @@ Nur %1 von %2 Objekten geschrieben. <html>QGIS bringt's!</html> - + CRS undefined - defaulting to project CRS KBS undefiniert - Projekt-KBS wird voreingestellt - + CRS undefined - defaulting to default CRS: %1 KBS undefiniert - voreingestelltes KBS gewählt: %1 + + + Reading raster + Lade Raster + Processing 1/2 - %p% @@ -8365,44 +8360,44 @@ Diese Meldung erscheint höchstwahrscheinlich, weil die Umgebungsvariable DISPLA Konnte Datei %1.qpj nicht erzeugen - - + + Cannot get GDAL raster band: %1 Konnte GDAL-Rasterkanal nicht bestimmen: %1 - + Cannot open GDAL MEM dataset %1: %2 Konnte GDAL-MEM-Datensatz %1 nicht öffnen: %2 - + Cannot GDALCreateGenImgProjTransformer: GDALCreateGenImgProjTransformer-Fehler: - + Cannot inittialize GDALWarpOperation : GDALWarpOperation-Initialisierungsfehler: - + Cannot ChunkAndWarpImage: %1 ChungAndWarpImage-Fehler: %1 - + [GDAL] All files (*) [GDAL] Alle Dateien (*) - + GDAL/OGR VSIFileHandler GDAL/OGR-VSI-Dateihandler - + This raster file has no bands and is invalid as a raster layer. Diese Rasterdatei hat keine Kanäle und ist als Rasterlayer ungültig. @@ -8458,28 +8453,28 @@ Diese Meldung erscheint höchstwahrscheinlich, weil die Umgebungsvariable DISPLA Nur %1 von %2 Objekten geschrieben. - - + + Connection to database failed Verbindung zur Datenbank schlug fehl - + Creation of data source %1 failed: %2 Erzeugung der Datenquelle %1 gescheitert: %2 - + Loading of the layer %1 failed Laden des Layers %1 gescheitert - - + + Unable to delete layer %1: %2 Konnte Ebene %1 nicht löschen: @@ -8492,13 +8487,13 @@ Diese Meldung erscheint höchstwahrscheinlich, weil die Umgebungsvariable DISPLA - + Unsupported type for field %1 Nicht unterstützter Typ für Feld %1 - + Creation of fields failed Erzeugung der Felder gescheitert @@ -8661,44 +8656,44 @@ Diese Meldung erscheint höchstwahrscheinlich, weil die Umgebungsvariable DISPLA Einkanalfarbdaten - - - - + + + + Reading raster part %1 of %2 Lese Rasterteil %1 von %2 - + Building pyramids failed - write access denied Erzeugung der Pyramide gescheitert - Schreibzugriff verweigert - + Write access denied. Adjust the file permissions and try again. Schreibzugriff verweigert. Passen Sie die Dateizugriffsrechte an und versuchen Sie es erneut. - - - - + + + + Building pyramids failed. Erstellung der Pyramiden fehlgeschlagen. - + The file was not writable. Some formats do not support pyramid overviews. Consult the GDAL documentation if in doubt. Die Datei war nicht beschreibbar. Einige Formate unterstützen Übersichtspyramiden nicht. Gucken Sie im Zweifel in die GDAL-Dokumentation. - - + + Building pyramid overviews is not supported on this type of raster. Für diese Art von Raster können keine Pyramiden erstellt werden. - + Building internal pyramid overviews is not supported on raster layers with JPEG compression and your current libtiff library. Erstellung von interne Pyramiden-Übersichten weder für JPEG-komprimierte Rasterlayer noch durch Ihre aktuelle libtiff-Bibliothek unterstützt. @@ -8789,225 +8784,225 @@ Diese Meldung erscheint höchstwahrscheinlich, weil die Umgebungsvariable DISPLA QgisApp - - - + + + Invalid Data Source Ungültige Datenquelle - - + + No Layer Selected Keinen Layer ausgewählt - + There is a new version of QGIS available Eine neue Version von QGIS ist verfügbar - + You are running a development version of QGIS Sie verwenden eine Entwicklungsversion von QGIS - + You are running the current version of QGIS Sie verwenden die aktuelle Version von QGIS - + Would you like more information? Wollen Sie mehr Information? - - - - + + + + QGIS Version Information QGIS-Versionsinformationen - + Unable to get current version information from server Kann Informationen zu aktuellen Version nicht vom Server holen - + Connection refused - server may be down Verbindung abgelehnt - Server vielleicht heruntergefahren - + QGIS server was not found QGIS-Server nicht gefunden - + Invalid Layer Ungültiger Layer - + %1 is an invalid layer and cannot be loaded. %1 ist ein ungültiger Layer und kann nicht geladen werden. - + Problem deleting features Problem beim Löschen der Objekte - + A problem occured during deletion of features Beim Löschen der Objekte ist ein Problem aufgetreten - + No Vector Layer Selected Es wurde kein Vektorlayer gewählt - + Deleting features only works on vector layers Löschen von Objekten ist nur von Vektorlayern möglich - + To delete features, you must select a vector layer in the legend Zum Löschen von Objekte zu muss ein Vektorlayer in der Legende gewählt werden - + Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties. Legende, die alle im Kartenfenster angezeigten Layer enthält. Bitte auf die Kontrollkästchen klicken, um einen Layer an- oder auszuschalten. Mit einem Doppelklick in der Legende kann die Erscheinung und sonstige Eigenschaften eines Layers festgelegt werden. - + Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas. Übersichtsfenster. Dieses Fenster kann benutzt werden um die momentane Ausdehnung des Kartenfensters darzustellen. Der momentane Ausschnitt ist als rotes Rechteck dargestellt. Jeder Layer in der Karte kann zum Übersichtsfenster hinzugefügt werden. - + Displays the current map scale Zeigt den momentanen Kartenmaßstab an - + Render Zeichnen - + When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering. Wenn angewählt, werden die Kartenlayer abhängig von der Bedienung der Navigationsinstrumente, gezeichnet. Anderenfalls werden die Layer nicht gezeichnet. Dies erlaubt es, eine große Layeranzahl hinzuzufügen und das Aussehen der Layer vor dem Zeichnen zu setzen. - + Choose a QGIS project file Eine QGIS-Projektdatei wählen - + Toggle map rendering Zeichnen der Karte einschalten - + QGIS Project Read Error Fehler beim Lesen des QGIS-Projektes - + Open a GDAL Supported Raster Data Source Öffnen einer GDAL-Rasterdatenquelle - + Choose a QGIS project file to open QGIS-Projektdatei zum Öffnen wählen - + Reading settings Lese Einstellungen - + Setting up the GUI Richte die Oberfläche ein - + Checking database Überprüfe die Datenbank - + Restoring loaded plugins Stelle die geladenen Erweiterungen wieder her - + Initializing file filters Initialisiere Dateifilter - + Restoring window state Stelle Fensterstatus wieder her - - + + QGIS Ready! QGIS ist startklar! - + Ready Fertig - + QGIS version QGIS-Version - + QGIS code revision QGIS-Codeversion - + Compiled against Qt Kompiliert gegen Qt - + Running against Qt Laufendes Qt - + GEOS Version GEOS-Version - + PostgreSQL Client Version PostgreSQL-Client-Version - - + + No support. Keine Unterstützung. - + SpatiaLite Version SpatiaLite-Version @@ -9017,194 +9012,194 @@ Diese Meldung erscheint höchstwahrscheinlich, weil die Umgebungsvariable DISPLA QWT-Version - + This copy of QGIS writes debugging output. Diese QGIS-Kopie schreibt Debugausgaben. - + Unable to open project Kann das Projekt nicht öffnen - + Unknown network socket error: %1 Unbekannter Netzwerkfehler: %1 - - - + + + Layer is not valid Layer ist ungültig - - + + The layer is not a valid layer and can not be added to the map Der Layer ist ungültig und kann daher nicht zum Kartenfenster hinzugefügt werden - + Save? Speichern? - + Current CRS: %1 (OTFR enabled) Aktuelles KBS: %1 (OTF-Reprojektion aktiv) - + Current CRS: %1 (OTFR disabled) Aktuelles KBS: %1 (OTF-Reprojektion aus) - + Extents: Ausdehnung: - + Unsupported Data Source Nicht unterstütztes Datenformat - - - - - - - + + + + + + + Error Fehler - + Checking provider plugins Provider-Erweiterungen werden geprüft - + Starting Python Python wird gestartet - + Provider does not support deletion Provider unterstützt keine Löschoperationen - + Data provider does not support deleting features Der Provider hat nicht die Möglichkeit, Objekte zu löschen - - - + + + Layer not editable Der Layer kann nicht bearbeitet werden - + The current layer is not editable. Choose 'Start editing' in the digitizing toolbar. Der aktuelle Layer kann nicht bearbeitet werden. Bitte 'Bearbeitungsstatus umschalten' aus der Digitalisierwerkzeugleiste wählen. - + Scale Maßstab - + Current map scale (formatted as x:y) Aktueller Kartenmaßstab (x:y formatiert) - + Map coordinates at mouse cursor position Kartenkoordinaten beim Mauszeiger - + Invalid scale Ungültiger Maßstab - + Do you want to save the current project? Soll das aktuelle Projekt gespeichert werden? - + Current map scale Aktueller Kartenmaßstab - + Project file is older Projektdatei ist älter - + <tt>Settings:Options:General</tt> Menu path to setting options <tt>Einstellungen:Optionen:Allgemein</tt> - + Warn me when opening a project file saved with an older version of QGIS Beim Öffnen einer Projektdatei, die mit einer älteren QGIS-Version erstellt wurde, warnen - + Overview Übersicht - + Progress bar that displays the status of rendering layers and other time-intensive operations Fortschrittsanzeige für das Zeichnen von Layern und andere zeitintensive Operationen - + Stop map rendering Zeichnen der Karte abbrechen - + Map canvas. This is where raster and vector layers are displayed when added to the map Kartenansicht. Hier werden Raster- und Vektorlayer angezeigt, wenn sie der Karte hinzugefügt werden - + Toggle extents and mouse position display Ausdehnungs- und Mauspositionsanzeige umschalten - + This icon shows whether on the fly coordinate reference system transformation is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour. Diese Icon zeigt an, ob On-The-Fly-Transformation des Koordinatenbezugssystem aktiv ist. Anklicken, um dies in den Projektionseigenschaften zu ändern. - + CRS status - Click to open coordinate reference system dialog KBS-Status - Klicken um den Dialog zum Koordinatenbezugssystem zu öffnen - + Maptips require an active layer Kartentipps erfordern einen aktuellen Layer - + Multiple Instances of QgisApp Mehrere QgisApp-Instanzen - + Multiple instances of Quantum GIS application object detected. Please contact the developers. @@ -9212,192 +9207,192 @@ Please contact the developers. Bitte nehmen Sie Kontakt zu den Entwicklern auf. - + Quantum GIS Quantum GIS - + Minimize Minimieren - + Ctrl+M Minimize Window Strg+M - + Minimizes the active window to the dock Minimiert das aktive Fenster ins Dock - + Zoom Zoom - + Toggles between a predefined size and the window size set by the user Schaltet zwischen voreingestellter und vom Benutzer bestimmten Fenstergröße um - + Bring All to Front Alle in den Vordergrund bringen - + Bring forward all open windows Alle geöffneten Fenster vorholen - + Failed to open Python console: Konnte Python-Konsole nicht öffnen: - + Panels Bedienfelder - + Toolbars Werkzeugkästen - + &Database Da&tenbank - - + + Coordinate: Koordinate: - + Current map coordinate Aktuelle Kartenkoordinate - - + + Control rendering order Bestimmt Zeichenreihenfolge - + Layer order Layerreihenfolge - - - + + + Private qgis.db Benutzer qgis.db - + Could not open qgis.db Konnte qgis.db nicht öffnen - + Migration of private qgis.db failed. %1 Migration der Benutzer qgis.db schlug fehl. %1 - + Compiled against GDAL/OGR Kompiliert mit GDAL/OGR - + Running against GDAL/OGR Läuft mit GDAL/OGR - + %1 doesn't have any layers %1 hat keine Layer - + Select raster layers to add... Einzufügende Rasterlayer wählen... - + Cannot get MSSQL select dialog from provider. Konnte den MSSQL-Auswahldialog nicht vom Datenlieferanten holen. - - - + + + QGis files QGis-Dateien - + Labeling Beschriftung - + Cannot copy style: %1 Kann Stil nicht kopieren: %1 - + Cannot parse style: %1:%2:%3 Kann Stil nicht interpretieren: %1:%2:%3 - + Cannot read style: %1 Kann Stil nicht lesen: %1 - + Couldn't load Python support library: %1 Konnte Python-Unterstützungsbibliothek nicht laden: %1 - + Couldn't resolve python support library's instance() symbol. Konnte Symbol instance() nicht in Python-Unterstützungsbibliothek finden. - + Python support ENABLED :-) Python-Unterstützung aktiviert :-) - + QGIS - Changes since last release QGIS-Änderung seit der letzten Ausgabe - - + + To perform a full histogram stretch, you need to have a raster layer selected. Um eine volle Histogrammstreckung durchzuführen, muß ein Rasterlayer gewählt sein. - + This project file was saved by an older version of QGIS Die Projektdatei wurde mit einer älteren QGIS-Version gespeichert - + Always ignore these errors? @@ -9406,7 +9401,7 @@ Always ignore these errors? Diese Fehler immer ignorieren? - + %n SSL errors occured number of errors @@ -9415,347 +9410,352 @@ Diese Fehler immer ignorieren? - + Raster Raster - + Security warning: Sicherheitswarnung: - + macros have been disabled. Makros wurden abgeschaltet. - + Enable Einschalten - + Log Messages Protokoll - + QGIS starting... QGIS startet... - + Window Fenster - + Vect&or &Vektor - + &Web &Web - + Shows the map coordinates at the current cursor position. The display is continuously updated as the mouse is moved. It also allows editing to set the canvas center to a given position. The format is lat,lon or east,north Zeigt die Kartenkoordinate an der aktuellen Mausposition. Die Anzeige wird laufend aktualisiert während die Maus bewegt wird. Sie kann auch bearbeitet werden, um die Kartenanzeige auf eine gegebene Koordinate zu zentrieren. Das Format ist Breite,Höhe oder Ost,Nord - + Current map coordinate (lat,lon or east,north) Aktuelle Kartenkoordinaten (Breite,Höhe oder Ost,Nord) - + Map layer list that displays all layers in drawing order. Layerliste, die alle Layer in Zeichenreihenfolge anzeigt. - + [ERROR] Can not make qgis.db private copy [FEHLER] Kann private Kopie von qgis.db nicht anlegen - + Update of view in private qgis.db failed. %1 Aktualisierung der Sicht in privater qgis.db gescheitert. %1 - - + + < Blank > < Leer > - + + PROJ.4 Version + PROJ.4-Version + + + Select zip layers to add... ZIP-Layer zum Hinzufügen wählen... - + Vector Vektor - + Select vector layers to add... Einzufügende Vektorlayer wählen... - + PostgreSQL PostgreSQL - + Cannot get PostgreSQL select dialog from provider. Kann PostgreSQL-Auswahldialog des Datenlieferanten nicht bestimmen. - + %1 is an invalid layer - not loaded %1 ist ein ungültiger Layer - nicht geladen - + SpatiaLite SpatiaLite - + Cannot get SpatiaLite select dialog from provider. Kann SpatiaLite-Auswahldialog nicht vom Datenlieferanten holen. - + MSSQL MSSQL - + WMS WMS - + Cannot get WMS select dialog from provider. Konnte den WMS-Auswahldialog nicht vom Datenlieferanten holen. - + WCS WCS - + Cannot get WCS select dialog from provider. Konnte den WCS-Auswahldialog nicht vom Datenlieferanten holen. - + WFS WFS - + Cannot get WFS select dialog from provider. Konnte WFS-Auswahldialog nicht vom Datenlieferanten holen. - + Calculating... Berechne... - - + + Abort... Abbrechen... - + Choose a file name to save the QGIS project file as Name für zu speichernden QGIS-Projektdatei wählen - + Unable to load %1 %1 kann nicht geladen werden - + Choose a file name to save the map image as Name für Datei zum Speichern des Kartenabbilds wählen - + Please select a vector layer first. Bitte wählen zur zuvor einen Layer. - + Layer labeling settings Layerbeschriftungseinstellungen - + Saving done Speichern abgeschlossen - + Export to vector file has been completed Export in Vektordatei ist abgeschlossen - + Save error Fehler beim Speichern - + Export to vector file failed. Error: %1 Export in Vektordatei schlug fehl. Fehler: %1 - + Features deleted Objekt gelöscht - + Merging features... Objekte werden verschmolzen... - + Abort Abbrechen - - + + Composer %1 Druckzusammenstellung %1 - - + + No active layer Kein aktiver Layer - - + + No active layer found. Please select a layer in the layer list Keinen aktiven Layer gefunden. Bitte einen Layer aus der Liste wählen - - + + Active layer is not vector Aktiver ist kein Vektorlayer - - + + The merge features tool only works on vector layers. Please select a vector layer from the layer list Das Verschmelzen von Objekte funktioniert nur mit Vektorlayern. Bitte einen Vektorlayer aus der Liste wählen - - + + Merging features can only be done for layers in editing mode. To use the merge tool, go to Layer->Toggle editing Objekte können nur auf Layern im Bearbeitungsmodus verschmolzen werden. Bitte mit Layer->Bearbeitungsmodus umschalten, um das Verschmelzungswerkzeug zu benutzen - - - + + + The merge tool requires at least two selected features Das Verschmelzungswerkzeug erfordert mindestens zwei gewählte Objekte - - - + + + Not enough features selected Nicht genug Objekte gewählt - + Merged feature attributes Objektattribute vereinen - - + + Merge failed Zusammenführung fehlgeschlagen - - + + An error occured during the merge operation Beim Zusammenführen trat ein Fehler auf - - + + The union operation would result in a geometry type that is not compatible with the current layer and therefore is canceled Die Vereinigungsoperation würde zu einem Geometrietyp führen, der nicht zum aktuellen Layer paßt, und wurde daher abgebrochen - + Union operation canceled Vereinigungsvorgang abgebrochen - + Merged features Objekte verschmelzen - + Features cut Objekte ausgeschnitten - + Features pasted Objekte eingefügt - + Start editing failed Bearbeitungsbeginn schlug fehl - + Provider cannot be opened for editing Lieferant kann nicht zum Bearbeiten geöffnet werden - + Stop editing Bearbeitung beenden - + Do you want to save the changes to layer %1? Sollen die Änderungen am Layer %1 gespeichert werden? - - + + Could not commit changes to layer %1 Errors: %2 @@ -9766,91 +9766,91 @@ Fehler: %2 - + Problems during roll back Probleme beim Zurücknehmen der Änderungen - + GPS Information GPS-Information - + Map coordinates for the current view extents Kartenkoordinaten für den aktuell sichtbaren Ausschnitt - + Warning Warnung - + This layer doesn't have a properties dialog. Dieser Layer hat keine Eigenschaftendialog. - + Authentication required Authentifikation erforderlich - + Proxy authentication required Proxy-Authentifikation erforderlich - + SSL errors occured accessing URL %1: SSL-Fehler beim Zugriff auf URL %1: - + Quantum GIS - %1 ('%2') Quantum GIS - %1 ('%2') - + %1 is not a valid or recognized data source %1 ist keine gültige Datenquelle oder wird nicht erkannt - - + + Saved project to: %1 Projekt in %1 gespeichert - - + + Unable to save project %1 Konnte Projekt %1 nicht speichern - + Saved map image to %1 Kartenabbild als %1 gespeichert - + Unable to communicate with QGIS Version server %1 Konnte nicht mit dem QGIS-Versionserver kommunizieren %1 - + No Raster Layer Selected Kein Rasterlayer gewählt - + The layer %1 is not a valid layer and can not be added to the map Der Layer %1 ist ungültig und kann der Karte nicht hinzugefügt werden - + %n feature(s) selected on layer %1. number of selected features @@ -9859,32 +9859,32 @@ Fehler: %2 - + %1 is not a valid or recognized raster data source %1 ist keine gültige Rasterdatenquelle oder wird nicht erkannt - + %1 is not a supported raster data source %1 ist keine unterstützte Rasterdatenquelle - + <p>This project file was saved by an older version of QGIS. When saving this project file, QGIS will update it to the latest version, possibly rendering it useless for older versions of QGIS.<p>Even though QGIS developers try to maintain backwards compatibility, some of the information from the old project file might be lost. To improve the quality of QGIS, we appreciate if you file a bug report at %3. Be sure to include the old project file, and state the version of QGIS you used to discover the error.<p>To remove this warning when opening an older project file, uncheck the box '%5' in the %4 menu.<p>Version of the project file: %1<br>Current version of QGIS: %2 <p>Diese Projektdatei wurde mit einer älteren QGIS-Version gespeichert. Beim Speichern dieser Projektdatei wird QGIS es auf die aktuelle Version aktualisieren und sie damit unter Umständen für ältere QGIS-Versionen unbrauchbar machen. <p>Obwohl die QGIS-Entwickler versuchen Rückwärtskompatibilität zu erhalten, könnten dabei einige Informationen der alten Projektdatei verloren gehen. Um die Qualität von QGIS zu verbessern, würden wir es begrüßen, wenn Sie einen Fehler unter %3 melden würden. Bitte legen Sie die alte Projektdatei bei und nennen Sie die QGIS-Version mit der Sie diesen Fehler entdeckt haben. <p>Um diese Warnung in Zukunft zu unterdrücken, entfernen Sie bitte das Häkchen in '%5' im Menü %4.<p>Version der Projektdatei: %1<br>Aktuelle QGIS-Version: %2 - + Layers Layer - + Delete features Objekte löschen - + Delete %n feature(s)? number of features to delete @@ -11899,10 +11899,6 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?Error, could not read file Fehler, Datei konnte nicht gelesen werden - - Content of template file is not valid - Inhalt der Vorlagendatei könnte ungültig sein - QgsComposerArrowWidget @@ -14807,12 +14803,12 @@ Fehler: %5 QgsCptCityBrowserModel - + Name Name - + Info Information @@ -14820,27 +14816,27 @@ Fehler: %5 QgsCptCityColorRampItem - + colors Farben - + continuous Fortlaufend - + continuous (multi) Fortlaufend (mehrere) - + discrete Diskret - + variants Varianten @@ -14848,17 +14844,17 @@ Fehler: %5 QgsCptCityColorRampV2Dialog - + %1 directory details Verzeichnisdetails %1 - + %1 gradient details Detail der Gradiente %1 - + Error - cpt-city gradient files not found. You have two means of installing them: @@ -14882,17 +14878,17 @@ Diese Datei ist zu finden unter [%2] und aktuelle Datei istt [%3] - + Selections by theme nach Themen - + All by author Alle nach Autor - + You can download a more complete set of cpt-city gradients by installing the "Color Ramp Manager" plugin (you must enable Experimental plugins in the plugin manager). @@ -14908,42 +14904,43 @@ und aktuelle Datei istt [%3] cpt-city Farbverlauf - + Selection and preview Auswahl und Voransicht - + Path Pfad - + Palette Palette - + Information Information - + + License Lizenz - + Source Quelle - + Author(s) Autoren - + Details Details @@ -15187,34 +15184,34 @@ und aktuelle Datei istt [%3] QgsCustomizationDialog - + Object name Objektname - + Label Beschriftung - + Description Beschreibung - - + + Choose a customization INI file INI-Datei für Anpassung wählen - - + + Customization files (*.ini) Anpassungsdatei (*.ini) - + Widgets Bedienelement @@ -16413,10 +16410,6 @@ p, li { white-space: pre-wrap; } You did not specify a maximum value for the diagram size. Please specify the attribute and a reference value as a base for scaling in the Tab Diagram / Size. Es wurde keine Maximalgröße für das Diagramm angegeben. Bitte das Attribut und einen Referenzwert als Skalierungsbasis auf dem Reiter Diagramm / Größe festlegen. - - You did not specify a maximum value for the diagram size. Please specify the the attribute and a reference value as a base for scaling in the Tab Diagram / Size. - Es wurde kein Maximalwert für die Diagrammgröße angegeben. - QgsDiagramPropertiesBase @@ -16721,17 +16714,17 @@ p, li { white-space: pre-wrap; } QgsDisplayAngle - + %1 degrees %1 Grad - + %1 radians %1 Radianten - + %1 gon %1 Gon @@ -16743,10 +16736,6 @@ p, li { white-space: pre-wrap; } Angle Winkel - - Ellipsoidal - Ellipsoid - QgsEmbedLayerDialog @@ -16874,14 +16863,6 @@ p, li { white-space: pre-wrap; } (i.e. including colliding objects) (d.h. inkl. kollidierender Objekten) - - Show all labels (i.e. including colliding labels) - Alle Beschriftungen anzeigen (d.h. inkl. kollidierender) - - - Show label candidates (for debugging) - Beschriftungskandidaten anzeigen (zur Fehlerbeseitung) - QgsExpressionBuilderDialogBase @@ -17235,13 +17216,13 @@ Der Ausdruck ist ungültig (siehe (mehr Information) für Näheres) QgsGCPListModel - + map units Karteneinheiten - + pixels Pixel @@ -18438,39 +18419,27 @@ Bitte wählen Sie eine gültige Datei. Pixelgröße: - out of extent - außerhalb der Ausdehnung - - - null (no data) - Null (keine Daten) - - - + Gauss Gauss - + Cubic Kubisch - + Mode Modus - + None Keine - Average Magphase - Durchschnittliche Magphase - - - + Average Durchschnittlich @@ -18752,106 +18721,106 @@ p, li { white-space: pre-wrap; } Nicht unterstütztes Datenformat - + Raster loaded: %1 Geladenes Raster: %1 - + Georeferencer - %1 Georeferenzierung - %1 - - - + + + Transform: Transformation: - - - - + + + - - - - - + + + + + + Info Information - + GDAL scripting is not supported for %1 transformation GDAL-Skripting für Transformation %1 nicht unterstützt - + Load GCP points GCP-Punkte laden - + No GCP points to save Keine GCP-Punkte zu speichern - + Save GCP points GCP-Punkte speichern - - + + Please load raster to be georeferenced Bitte laden Sie das zu georeferenzierende Raster - - + + Help Hilfe - + Panels Bedienfelder - + Toolbars Werkzeugkästen - + Coordinate: Koordinate: - + Current map coordinate Aktuelle Kartenkoordinate - + Current transform parametrisation Aktuelle Transformationsparameterisierung - + Unable to open GCP points file %1 Kann GCP-Punktdatei %1 nicht öffnen - + Could not write to %1 Konnte nicht in %1 schreiben - + Save GCPs GCPs speichern @@ -18861,193 +18830,203 @@ p, li { white-space: pre-wrap; } Georeferenzierung - + Save GCP points? GCP-Punkte speichern? - + Failed to get linear transform parameters Konnte Parameter der linearen Transformation nicht bestimmen - + World file exists World-Datei existiert - + <p>The selected file already seems to have a world file! Do you want to replace it with the new world file?</p> <p>Die gewählte Datei scheint bereits eine World-Datei zu haben! Wollen Sie sie mit der neuen überschreiben?</p> - - + + Failed to compute GCP transform: Transform is not solvable Konnte GCP-Transformation nicht berechnen. Transformation nicht lösbar - + Error Fehler - + Transformation parameters Transformationsparameter - + Translation x X-Verschiebung - + Translation y y-Verschiebung - + Scale x X-Maßstab - + Scale y Y-Maßstab - + Rotation [degrees] Drehung [Grad] - + Residuals Rest - - - - + + + + map units Karteneinheiten - - + + GCP file GCP-Datei - - + + None + Keine + + + + Coordinate of image(column/line) + Koordinate des Bilds (Spalte/Zeile) + + + + pixels Pixel - + Mean error [%1] Mittlere Fehler [%1] - + yes ja - + no nein - + Translation (%1, %2) Verschiebung (%1, %2) - + Scale (%1, %2) Maßstab (%1, %2) - + Rotation: %1 Drehung: %1 - + Mean error: %1 Mittlerer Fehler: %1 - + Copy in clipboard In Zwischenablage kopieren - + %1 %1 - + GDAL script GDAL-Skript - + Please set transformation type Bitte Transformationstyp setzen - + Please set output raster name Bitte Ausgaberasternamen angeben - + %1 requires at least %2 GCPs. Please define more %1 erfordert mindestens %2 GCPs. Bitte mehr definieren - + Linear Linear - + Helmert Helmert - + Polynomial 1 Polynomial 1 - + Polynomial 2 Polynomial 2 - + Polynomial 3 Polynomial 3 - + Thin plate spline (TPS) Thin-Plate-Splines (TPS) - + Projective Projektiv - + Not set Nicht gesetzt @@ -19089,175 +19068,190 @@ p, li { white-space: pre-wrap; } - + toolBar + toolBar + + + + Open raster Raster öffnen - + Ctrl+O Strg+O - - + + Zoom In Hineinzoomen - + Ctrl++ Strg++ - - + + Zoom Out Hinauszoomen - + Ctrl+- Strg+- - - + + Zoom to Layer Auf den Layer zoomen - + Ctrl+Shift+F Strg+Umschalt+F - - + + Pan Verschieben - - + + Transformation settings Transformationseinstellungen - - + + Add point Punkt hinzufügen - + Ctrl+A Strg+A - - + + Delete point Punkt löschen - + Ctrl+D Strg+D - - + + Quit Beenden - - + + Start georeferencing Georeferenzierung beginnen - + Ctrl+G Strg+G - - + + Generate GDAL script GDAL-Skript erzeugen - + Ctrl+C Strg+C - - + + Link Georeferencer to QGis Georeferenzierung mit QGIS verbinden - - + + Link QGis to Georeferencer QGIS mit Georeferenzierung verbinden - - + + Save GCP points as... GCP-Punkte speichern als... - + Ctrl+S Strg+S - - + + Load GCP points GCP-Punkte laden - + Ctrl+L Strg+L - + Configure Georeferencer Georeferenzierung konfigurieren - + Ctrl+P Strg+P - + Raster properties Rastereigenschaften - - + + Move GCP point GCP-Punkt verschieben - + Zoom Next Zoom vor - + Zoom Last Zoom zurück + + + Local histogram stretch + Lokale Histogrammstreckung + + + + Full histogram stretch + Volle Histogrammstreckung + QgsGlobePluginDialog @@ -21864,17 +21858,6 @@ p, li { white-space: pre-wrap; } GRASS-Vektorkarte %1 hat keine Topologie. Topologie erzeugen? - - QgsGrassRasterProvider - - Out of extent - Außerhalb der Grenzen - - - null (no data) - Null (keine Daten) - - QgsGrassRegion @@ -23279,52 +23262,52 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten. QgsLabelingGui - + (not found!) (nicht gefunden!) - + Sample @ %1 pts (using map units) Beispiel @ %1 Punkten (in Karteneinheiten) - + Sample @ %1 pts (using map units, BUFFER IN MILLIMETERS) Beispiel @ %1 Punkten (in Karteneinheiten, Puffer in mm) - + Sample Beispiel - + Sample (BUFFER NOT SHOWN, in map units) Beispiel (in Karteneinheiten, Puffer nicht angezeigt) - + Expression based label Ausdrucksbeschriftung - + Mixed Case Gemischte Groß-/Kleinschreibung - + All Uppercase Nur Großbuchstaben - + All Lowercase Nur Kleinbuchstaben - + Title Case Titelform @@ -23337,713 +23320,636 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.Layerbeschriftungseinstellungen - + Expression Ausdruck - + Label settings Beschriftungseinstellungen - + Size for sample text in map units Größe des Beispieltexts in Karteneinheiten - + Sample background color Beispielhintergrundfarbe - + Multiple lines Mehrzeilig - + Wrap on character Bei Zeichen umbrechen - + Line height spacing for multi-line text Zeilenhöhe bei mehrzeiligem Text - + Alignment Ausrichtung - + Paragraph style alignment of multi-line text Absatzstilausrichtung mehrzeiligen Texts - + Available typeface styles Verfügbare Schriftartstile - + Underlined Text Unterstrichener Text - + Strikeout text Durchgestrichener Text - - + + Space in pixels or map units, relative to size unit choice Abstand in Pixel oder Karteneinheiten relativ zur Größeneinheitenwahl - + Type case Schriftart Groß-/Kleinschreibung - + Capitalization style of text Großschreibungstil des Texts - + Minimum Minimum - + Maximum Maximum - + Formatted numbers Zahlenformatierung - + Decimal places Dezimalstellen - + Show plus sign Plus-Vorzeichen anzeigen - - + + mm mm - - - + + + map units Karteneinheiten - - - + + + Transparency Transparenz - - + + % % - + Sample text Beispieltext - + Reset sample text Beispieltext zurücksetzen - + line Zeile - - + + Left Links - + Center Zentriert - - + + Right Rechts - px - Px - - - + Multi-line align Mehrzeilig ausrichten - - + + Line height Linienhöhe - - + + Letter spacing Zeichensperrung - - + + Word spacing Wortsperrung - Character width - Zeichenbreite - - - Mixed Case - Gemischte Groß-/Kleinschreibung - - - All Uppercase - Nur Großbuchstaben - - - All Lowercase - Nur Kleinbuchstaben - - - Small Caps - Kleine Großbuchstaben - - - Capitalize - Großschreibung - - - + Style Stil - + points Punkte - + U U - + S S - Capitals - Großbuchstaben - - - + Pen Join style Stiftübergangsstil - + Color area inside of pen stroke Farbbereich im Stiftstrich - + Advanced Erweitert - + Options Optionen - + Label every part of multi-part features Alle Teile mehrteiliger Objekte beschriften - + Merge connected lines to avoid duplicate labels Anschließende Linien verbinden, um doppelte Beschriftungen zu vermeiden - + Add direction symbol Richtungssymbol hinzufügen - + Features don't act as obstacles for labels Objekte sind kein Hindernis für Beschriftungen - Wrap label on character - Beschriftung bei Zeichen umbrechen - - - + Placement Platzierung - around point - um Punkt - - - over point - über Punkt - - - parallel - parallel - - - curved - gebogen - - - horizontal - horizontal - - - over centroid - über Zentrum - - - around centroid - um Zentrum - - - horizontal (slow) - horizontal (langsam) - - - free (slow) - frei (langsam) - - - using perimeter - Grenze benutzen - - - - - + + + Label distance Beschriftungsabstand - - - + + + Rotation Drehung - - + + degrees Grad - above line - über Linie - - - on line - auf Linie - - - below line - unter Linie - - - + Capitalization Großschreibung - + Add label columns to attribute table Beschriftungespalten zur Attributetabelle hinzufügen - + About data defined values Über datendefinierte Werte - + Label this layer with Layer beschriften mit - + Text style Textstil - + Font Schriftart - + TextLabel Textbeschriftung - - - - - - + + + + + + ... ... - - - + + + Color Farbe - + Buffer Puffer - - - + + + Size Größe - + mm mm - + Sample Beispiel - - + + Lorem Ipsum Lorom Ipsum - - + + In map units In Karteneinheiten - + Priority Priorität - + Low Niedrig - + High Hoch - + Scale-based visibility Maßstabsabhängige Darstellung - + Suppress labeling of features smaller than Objekte nicht beschriften, wenn kürzer als - Engine settings - Beschriftungseinstellungen - - - - + + In mm In mm - + Line orientation dependent position Linienrichtungsabhängige Position - + Data defined settings Datendefinierte Einstellungen - + Buffer transparency Puffertransparenz - + Uncheck to write labeling engine derived rotation on pin and NULL on unpin Abhaken, um den berechneten Winkel der Beschriftungsfunktion beim Anpinnen und NULL beim Lösen zu speichern - + Preserve existing rotation values during label pin/unpin operations Vorhandene Drehwinkel über Anpinnen/Lösen erhalten - + Display properties Anzeigeeigenschaften - + Minimum scale Minimalmaßstab - + Show label Beschriftung anzeigen - + Maximum scale Minimalmaßstab - + Font properties Schriftarteigenschaften - + Bold Fett - + Italic Kursiv - + Underline Unterstrichen - + Font family Schriftfamilie - + Position Position - + Automated placement settings Einstellung der automatischen Plazierung - + Show all labels for this layer (i.e. including colliding labels) Alle Beschriftungen anzeigen (d.h. inkl. kollidierender) - + Around point Um Punkt - + Offset from point Abstand vom Punkt - + Parallel Parallel - + Curved Gebogen - + Horizontal Horizontal - + Offset from centroid Abstand vom Zentrum - + Around centroid Um Zentrum - + Horizontal (slow) Horizontal (langsam) - + Free (slow) Frei (langsam) - + Using perimeter Nach Umfang - + + Centroid of + Zentroid von + + + + visible polygon + sichtbarem Polygon + + + + whole polygon + ganzem Polygon + + + Above line Über Linie - + On line Auf Linie - + Below line Unter Linie - + X X - + Y Y - + Above Right Oben rechts - + Above Left Oben links - + Over Über - + Above Oben - + Below Left Unten links - + Below Unten - + Below Right Unten rechts - + X Coordinate X-Koordinate - + Y Coordinate Y-Koordinate - + Horizontal alignment Horizontale Ausrichtung - + Vertical alignment Vertikale Ausrichtung - + Strikeout Durchgestrichen - + Buffer properties Puffereigenschaften - + Buffer size Puffergröße - + Buffer color Pufferfarbe @@ -24060,78 +23966,78 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.QgsLegend - + group Gruppe - + &Make to Toplevel Item In oberste Ebene &bringen - + Zoom to Group Zur Gruppe zoomen - + &Remove &Entfernen - + &Set Group CRS KBS für Gruppe &setzen - + &Group Selected &Gruppe gewählt - + Copy Style Stil kopieren - + Paste Style Stil einfügen - + &Add New Group &Neue Gruppe hinzufügen - + &Expand All Alles ausklapp&en - + &Collapse All &Alles zusammenfalten - + &Update Drawing Order &Zeichenreihenfolge aktualisieren - + Legend context Legendenkontext - + Re&name Umbe&nennen - + sub-group Untergruppe @@ -24460,13 +24366,13 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten. - X: - X: + X / East: + X / Ost: - Y: - Y: + Y / North: + Y / Nord: @@ -25568,10 +25474,6 @@ http://meine.kiste.com/cgi-bin/mapserv.exe Segments Segmente - - Ellipsoidal - Ellipsoid - QgsMeasureDialog @@ -25581,52 +25483,52 @@ http://meine.kiste.com/cgi-bin/mapserv.exe &Neu - + The calculations are based on: Die Berechnungen basieren auf: - + Project CRS transformation is turned off. KBS-Transformation im Projekt deaktiviert. - + Canvas units setting is taken from project properties setting (%1). Karteneinheiten werden aus Projekteigenschaften übernommen (%1) - + Ellipsoidal calculation is not possible, as project CRS is undefined. Ellipsoide Berechnung wegen undefiniertem Projekt-KBS nicht möglich. - + Project CRS transformation is turned on and ellipsoidal calculation is selected. Projekt-KBS-Transformation aktiv und ellipsoide Berechnung gewählt. - + The coordinates are transformed to the chosen ellipsoid (%1), and the result is in meters Die Koordinaten werden auf den gewählten Ellipsoiden (%1) transformiert und die Ergebniseinheit ist Meter - + Project CRS transformation is turned on but ellipsoidal calculation is not selected. Projekt-KBS-Transformation aktiv, aber ellipsoide Berechnung ist nicht gewählt. - + The canvas units setting is taken from the project CRS (%1). Die Karteneinheiten werden dem Projekt-KBS entnommen (%1). - + Finally, the value is converted from %2 to %3. Schließlich wird der Wert von %1 zu %3 umgewandelt. - + Segments [%1] Segmente [%1] @@ -25634,12 +25536,12 @@ http://meine.kiste.com/cgi-bin/mapserv.exe QgsMeasureTool - + Incorrect measure results Falsche Messergebnisse - + <p>This map is defined with a geographic coordinate system (latitude/longitude) but the map extents suggests that it is actually a projected coordinate system (e.g., Mercator). If so, the results from line or area measurements will be incorrect.</p><p>To fix this, explicitly set an appropriate map coordinate system using the <tt>Settings:Project Properties</tt> menu. <p>Diese Karte ist mit einem geographischen Koordinatensystem definiert (latitude/longitude) aber die Kartenausdehnung zeigt, dass es tatsächlich eine projiziertes Koordinatensystem ist (z.B.: Mercator). Wenn das stimmt, sind die Ergebnisse der Strecken oder Flächenmessung falsch.</p><p>Um richtig messen zu können, definieren Sie bitte ein entsprechendes Koordinatensystem in dem Menü <tt>Einstellungen:Projekteinstellungen</tt>. @@ -31107,7 +31009,7 @@ Ergebnis: %3 (%4) QgsPostgresProvider - + Unable to access the %1 relation. The error message from the database was: %2. @@ -31118,7 +31020,7 @@ Der Error den die Datenbank lieferte war: SQL: %3 - + Unable to determine table access privileges for the %1 relation. The error message from the database was: %2. @@ -31148,23 +31050,23 @@ SQL: %3 - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + PostGIS PostGIS @@ -31202,22 +31104,22 @@ Database error: %2 Datenbankfehler: %2 - + The table has no column suitable for use as a key. Quantum GIS requires a primary key, a PostgreSQL oid column or a ctid for tables. Die Tabelle hat keine Spalten, die sich als Schlüssels eignen. Quantum GIS benötigt einen Primärschlüssel, einen PostgreSQL OID oder CTID für Tabellen. - + Unexpected relation type '%1'. Unerwarteter Relationstyp '%1'. - + result of extents query invalid: %1 Ergebnis der Ausmaßabfrage ungültig: %1 - + Editing and adding disabled for 2D+ layer (%1; %2) Ändern und Hinzufügen auf 2D+-Layern abgeschaltet (%1; %2) @@ -31252,26 +31154,26 @@ Datenbankfehler: %2 FEHLER: Feld %1 nicht gefunden. - - + + unexpected formatted field type '%1' for field %2 Unerwarteter formatierter Feldtyp '%1' für Feld %2 - - + + Field %1 ignored, because of unsupported type %2 Feld %1 ignoriert, weil von nicht unterstütztem Typ %2 - + Duplicate field %1 found Doppelter Feldname %1 gefunden - + PostgreSQL is still in recovery after a database crash (or you are connected to a (read-only) slave). Write accesses will be denied. @@ -31280,12 +31182,12 @@ Write accesses will be denied. Schreibzugriffe werden verweigert. - + The custom query is not a select query. Die Benutzerabfrage ist keine SELECT-Abfrage. - + Unable to execute the query. The error message from the database was: %1. @@ -31296,67 +31198,67 @@ Dei Fehlermeldung der Datenbank war: SQL: %2 - + Primary key field '%1' for view not unique. Primärschlüsselfeld '%1' der Sicht ist nicht eindeutig. - + Type '%1' of primary key field '%2' for view invalid. Typ '%1' des Primärschlüsselfelds '%2' der Sicht ist ungültig. - + Key field '%1' for view not found. Schlüsselfeld '%1' der Sicht nicht gefunden. - + No key field for view given. Kein Schlüsselfeld für Ansicht angegeben. - + No key field for query given. Kein Schlüsselfeld für Abfrage gegeben. - + PostGIS error while adding features: %1 PostGIS-Fehler beim Attributhinzufügen: %1 - + PostGIS error while deleting features: %1 PostGIS-Fehler beim Objektlöschen: %1 - + PostGIS error while adding attributes: %1 PostGIS-Fehler beim Attributhinzufügen: %1 - + PostGIS error while deleting attributes: %1 PostGIS-Fehler beim Attributlöschen: %1 - + PostGIS error while changing attributes: %1 PostGIS-Fehler beim Attributändern: %1 - + PostGIS error while changing geometry values: %1 PostGIS-Fehler beim Geometrieändern: %1 - + Geometry type and srid for empty column %1 of %2 undefined. Geometrietyp und SRID für leere Spalte %1 in %2 undefiniert. - + Feature type or srid for %1 of %2 could not be determined or was not requested. Objekttyp oder SRID für %1 aus %2 konnte nicht festgestellt werden und wurde nicht festgelegt. @@ -32511,57 +32413,57 @@ p, li { white-space: pre-wrap; } QgsRasterDataProvider - + Identify Abfragen - + Build Pyramids Pyramiden erzeugen - + Create Datasources Datenquellen erzeugen - + Remove Datasources Datenquellen entfernen - + Band Kanal - + Average Mittlere - + Nearest Neighbour Nächster Nachbar - + Gauss Gauß - + Cubic Kubisch - + Mode Modus - + None Keine @@ -32854,7 +32756,7 @@ p, li { white-space: pre-wrap; } - + Not Set Nicht gesetzt @@ -32900,7 +32802,7 @@ p, li { white-space: pre-wrap; } - + Band Kanal @@ -32970,8 +32872,8 @@ p, li { white-space: pre-wrap; } - - + + Raster Raster @@ -32986,12 +32888,12 @@ p, li { white-space: pre-wrap; } Konnte Datenlieferanten nicht erzeugen - + <maplayer> not found. <maplayer> nicht gefunden. - + GDAL data type %1 is not supported GDAL-Datentyp %1 ist nicht unterstützt @@ -33068,12 +32970,12 @@ p, li { white-space: pre-wrap; } No Data Value - NODATA-Wert + Leerwert NoDataValue not set - NoDataValue nicht gesetzt + Leerwert nicht gesetzt @@ -33089,35 +32991,35 @@ p, li { white-space: pre-wrap; } QgsRasterLayerProperties - + Columns: Spalten: - + Rows: Zeilen: - + No-Data Value: - NODATA-Wert: + LeerWert: - - - + + + n/a n/a - - + + Write access denied Schreibzugriff verweigert - + Write access denied. Adjust the file permissions and try again. @@ -33125,263 +33027,260 @@ p, li { white-space: pre-wrap; } - - - - + + + + Building pyramids failed. Erstellung von Pyramiden fehlgeschlagen. - - + + Building pyramid overviews is not supported on this type of raster. Für diese Art von Raster können keine Pyramiden erstellt werden. - + Description Beschreibung - + Large resolution raster layers can slow navigation in QGIS. Hochaufgelöste Raster können das Navigieren in QGIS verlangsamen. - + By creating lower resolution copies of the data (pyramids) performance can be considerably improved as QGIS selects the most suitable resolution to use depending on the level of zoom. Durch das Erstellen geringer aufgelöster Kopien der Daten (Pyramiden), kann die Darstellung beschleunigt werden, da QGIS die optimale Auflösung entsprechend der gewählten Zoomeinstellung aussucht. - + You must have write access in the directory where the original data is stored to build pyramids. Sie brauchen Schreibrecht in dem Ordner mit den Originaldaten, um Pyramiden zu erstellen. - + Layer Properties - %1 Layereigenschaften - %1 - - + + Nearest neighbour Nächster Nachbar - - + + Bilinear Bilinear - - + + Cubic Kubisch - - + + Average Mittlere - + None Keine - - + + Red Rot - - + + Green Grün - - + + Blue Blau - - - - - + + + + + Percent Transparent Prozent Transparenz - - + + Gray Grau - - + + Indexed Value Indizierter Wert - + From Von - + To Nach - + + not defined + undefiniert + + + No-Data Value: Not Set No-Data Wert: Nicht gesetzt - + Building internal pyramid overviews is not supported on raster layers with JPEG compression and your current libtiff library. Erstellung von interne Pyramiden-Übersichten weder für JPEG-komprimierte Rasterlayer noch durch Ihre aktuelle libtiff-Bibliothek unterstützt. - + Save file Datei speichern - null (no data) - Null (keine Daten) - - - + Load layer properties from style file Layereigenschaften aus Stildatei laden - - + + QGIS Layer Style File QGIS-Layerstildatei - + Save layer properties as style file Layereigenschaften als Stildatei speichern - + Filter Filter - + Bands Kanäle - + Time Zeit - + QGIS Generated Transparent Pixel Value Export File QGIS-erzeugte Export-Datei für transparente Pixelwerte - + Open file Datei öffnen - + Import Error Importfehler - out of extent - außerhalb der Ausdehnung - - - + Read access denied Lesezugriff verweigert - + Read access denied. Adjust the file permissions and try again. Lesezugriff verweigert. Passe Dateirechte an und versuche es erneut. - + Not Set Nicht gesetzt - - + + Default Style Vorgabestil - + Please note that building internal pyramids may alter the original data file and once created they cannot be removed! Bitte beachten Sie, dass der Aufbau von internen Pyramiden die Originaldatei ändern kann und einmal angelegt nicht gelöscht werden kann! - + Please note that building internal pyramids could corrupt your image - always make a backup of your data first! Bitte beachten sie, dass der Aufbau von internen Pyramiden ihr Bild beschädigen kann - bitte sichern Sie Ihre Daten zuvor! - + The file was not writable. Some formats do not support pyramid overviews. Consult the GDAL documentation if in doubt. Die Datei war nicht beschreibbar. Einige Formate unterstützen Übersichtspyramiden nicht. Gucken Sie im Zweifel in die GDAL-Dokumentation. - - + + Saved Style Gespeicherter Stil - + Columns: %1 Spalten: %1 - + Rows: %1 Zeilen: %1 - + No-Data Value: %1 Kein-Datum-Wert: %1 - + Write access denied. Adjust the file permissions and try again. Schreibzugriff verweigert. Passen Sie die Dateizugriffsrechte an und versuchen Sie es erneut. - - + + Textfile Textdatei - + The following lines contained errors %1 @@ -33393,327 +33292,343 @@ p, li { white-space: pre-wrap; } QgsRasterLayerPropertiesBase - + Raster Layer Properties Rasterlayereigenschaften - - - - - - - + + + + + + ... ... - + + Source no data value: + Leerwert der Quelle + + + + Original data source no data value, if exists. + Urspünglicher Leerwert der Quelle, falls vorhanden. + + + + <src no data value> + <quellleerwert> + + + + + Additional user defined no data value. + Zusätzlicher benutzerdefinierter Leerwert. + + + + Additional no data value + Zusätzlicher Leerwert + + + Title Titel - + Abstract Zusammenfassung - + Transparency Transparenz - + Global transparency Globale Transparenz - + None Keine - + 00% 00% - + <p align="right">Full</p> <p align="right">Voll</p> - + No data value - Kein-Datum-Wert + Leerwert - + Custom transparency options Benutzerdefinierte Transparenzeinstellung - + Style mRendererTab Stil - + Resampling Abtastung - + Zoomed in Hinein gezoomt - + Zoomed out Heraus gezoomt - + Maximum oversampling Maximale Überabtastung - + Render type Darstellungsart - + Invert color map Farbtabelle invertieren - + Transparency band Transparenzkanal - + Transparent pixel list Transparente Pixelliste - + Add values manually Werte manuell hinzufügen - + Add Values from display Werte aus Anzeige ergänzen - + Remove selected row Gewählte Zeile löschen - + Default values Vorgabewerte - + Import from file Aus Datei importieren - + Export to file In Datei exportieren - - Reset to file defined null - Nullwert auf Wert aus Datei zurücksetzen - - - + General Allgemein - + Display name Anzeigename - + Layer source Layerquelle - + Scale dependent visibility Maßstabsabhängige Sichtbarkeit - + Maximum Maximum - + Minimum Minimum - + Coordinate reference system Koordinatenbezugssystem - - + + Specify the coordinate reference system of the layer's geometry. Koordinatenbezugsssystem der Geometrie des Layers angeben. - + Specify... Angeben... - + Thumbnail Thumbnail - + Legend Legende - + Palette Palette - + Metadata Metadaten - + Pyramids Pyramiden - + Notes Hinweise - + Pyramid resolutions Pyramidenauflösungen - Build pyramids internally if possible - Pyramiden wenn möglich intern erzeugen - - - + Resampling method Abtastungsmethode - + Average Durchschnitt - + Nearest Neighbour Nächster Nachbar - + Build pyramids Pyramiden erzeugen - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Cantarell'; font-size:11pt;"><br /></span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//DE" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Cantarell'; font-size:11pt;"><br /></span></p></body></html> + + + Histogram Histogramm - + Columns Spalten - + Rows Zeilen - + No Data - Kein Datum + Leerwert - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//DE" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - + Overview format Übersichtsformat - + External Extern - + Internal (if possible) Intern (wenn möglich) - + External (Erdas Imagine) Extern (Erdas Imagine) - + Pipe Pipeline - + Restore Default Style Vorgabestil wiederherstellen - + Save As Default Als Vorgabe speichern - + Load Style ... Stil laden... - + Save Style ... Stil speichern... @@ -33731,54 +33646,54 @@ p, li { white-space: pre-wrap; } Nach - + Select output directory Ausgabeverzeichnis wählen - + Select output file Ausgabedatei wählen - - + + layer Layer - - + + user defined Benutzerdefiniert - + Resolution (current: %1) Auflösung (aktuell: %1) - + Extent (current: %1) Ausdehnung (aktuell: %1) - + Layer (%1, %2) Layer (%1, %2) - + Project (%1, %2) Projekt (%1, %2) - + Selected (%1, %2) Gewählt (%1, %2) - + map view Kartengrenzen @@ -33791,238 +33706,217 @@ p, li { white-space: pre-wrap; } Rasterlayer speichern unter... - + Output mode Ausgabemodus - + Raw data Rasterrohdaten - + Write out 3 bands RGB image rendered using current layer style. Bild mit drei RGB-Farbkanälen in aktueller Layerdarstellung ausgeben. - + Rendered image Wie dargestellt - + Format Format - + Save as Speichern unter - + CRS KBS - + Change ... Ändern... - + Extent Ausmaße - + Write out raw raster layer data. Optionally user defined no data values may be applied. - Rasterrohdaten ausgeben. Wahlweise können benutzerdefinierte Kein-Datum-Werte berücksichtigt werden. + Rasterrohdaten ausgeben. Wahlweise können benutzerdefinierte Leerwerte berücksichtigt werden. - + Browse... Durchsuchen... - + West West - + East Ost - + North Nord - + South Süd - + Layer extent Layerausdehnung - + Map view extent Anzeigeausdehnung - + Resolution Auflösung - + Horizontal Horizontal - + Columns Spalten - + Rows Zeilen - + Layer resolution Layerauflösung - + Layer size Layergröße - + Vertical Vertikal - + Tiles Kacheln - - + + Maximum number of columns in one tile. Maximale Spaltenanzahl einer Kachel. - + Max columns Maximale Spalten - - + + Maximum number of rows in one tile. Maximale Zeilenanzahl einer Kachel. - + Max rows Maximale Zeilen - + Additional no data values. The specified values will be set to no data in output raster. - Zusätzliche Kein-Datum-Werte. Die angegebene Werte werden im Ausgabedaten auf kein Datum gesetzt. + Zusätzliche Leerwerte. Die angegebene Werte werden im Ausgabedaten auf kein Datum gesetzt. - + No data values - Kein-Datum-Werte + Leerwerte - + Add values manually Werte manuell hinzufügen - - - - + + + + ... ... - + Load user defined fully transparent (100%) values Benutzerdefinierte volltransparente (100%) Werte - + Remove selected row Gewählte Zeile löschen - + Clear all Alle löschen - + Pyramids Pyramiden - - No pyramids - Keine Pyramiden - - - - - - mPyramidsButtonGroup - mPyramidsButtonGroup - - - + Use existing Vorhandene nutzen - + Resolutions Auflösungen - + Pyramid resolutions corresponding to levels given Zu gegebenen Ebenen passende Pyramidenauflösungen - Pyramids (not yet implemented) - Pyramiden (noch nicht implementiert) - - - - Build pyramids - Pyramiden erzeugen - - - + Create VRT VRT erzeugen - + Create Options Erzeugungsoptionen @@ -34132,32 +34026,16 @@ p, li { white-space: pre-wrap; } Internal (if possible) Intern (wenn möglich) - - External (GTiff) - Extern (GTiff) - External (Erdas Imagine) Extern (Erdas Imagine) - - Pyramid resolutions corresponding to levels given - Zu gegebenden Ebenen passende Pyramidenauflösungen - - - to be done - noch zu erledigen - Custom levels Benutzerdefinierte Ebenen - - Resolutions - Auflösungen - Resampling method @@ -37281,239 +37159,231 @@ Ersetzen? QgsStyleV2ManagerDialog - + Marker symbol (%1) Markierungssymbol (%1) - + Line symbol (%1) Liniensymbol (%1) - + Fill symbol (%1) Füllsymbol (%1) - + Color ramp (%1) Farbverlauf (%1) - - + + Type here to filter symbols ... Symbolfilter hier eingeben... - + Symbol Name Symbolname - + Please enter a name for new symbol: Bitte einen Namen für das neue Symbol angeben: - + new symbol Neues Symbol - + new marker Neue Markierung - + new line Neue Linie - + new fill symbol Neues Füllsymbol - - + + Save symbol Symbol speichern - + Cannot save symbol without name. Enter a name. Kann Symbol nicht ohne Namen speichern. Bitte einen angeben. - + Symbol with name '%1' already exists. Overwrite? Symbol names '%1' existiert bereits. Ersetzen? - - + + + Gradient Gradiente - - + + + Random Zufällig - - + + + ColorBrewer Farbbrauer - + + cpt-city ctp-city - + Color ramp type Farbverlauftyp - + Please select color ramp type: Bitte einen Farbverlauftyp wählen: - Color ramp name - Farbverlaufname - - - Please enter name for new color ramp: - Bitte einen Name für den Farbverlauf angeben: - - - new color ramp - Neuer Farbverlauf - - - - + + Invalid Selection Ungültige Auswahl - + The parent group you have selected is not user editable. Kindly select a user defined group. Die gewählte Eltergruppe ist nicht änderbar. Bitte eine benutzerdefinierte Gruppe wählen. - + Creation of nested smart groups are not allowed Select the 'Smart Group' to create a new group. Die Erzeugung von verschachtelten schlauen Gruppe ist nicht erlaubt. Bitte die 'Schlaue Gruppe' wählen, um eine neue zu erzeugen. - + Invalid selection Ungültige Auswahl - + There was some error while editing the smart group. Es gabe einen Fehler beim Bearbeiten der schlauen Gruppe. - + Operation Not Allowed Operation nicht erlaubt - + new ramp Neuer Farbverlauf - + new gradient ramp Neue Gradientenverlauf - + new random ramp Neuer zufälliger Farbverlauf - + Color Ramp Name Farbverlaufname - + Please enter a name for new color ramp: Name für neuen Farbverlauf eingeben: - + Save Color Ramp Farbverlauf speichern - + Cannot save color ramp without name. Enter a name. Kann namenlose Farbverläufe nicht speichern. Bitte benennen. - + Save color ramp Farbverlauf speichern - + Color ramp with name '%1' already exists. Overwrite? Farbverlauf names '%1' existiert bereits. Ersetzen? - + Cannot delete system defined categories. Kindly select a group or smart group you might want to delete. Systemdefinierte Kategorien können nicht gelöscht werden. Bitte Gruppe oder schlaue Gruppe zum Löschen wählen. - + Error! Fehler! - + New group could not be created. There was a problem with your symbol database. Neue Gruppe konnte nicht erzeugt werden. Es gab ein Problem mit Ihrer Symboldatenbank. - + Database Error Datenbank-Fehler - + There was a problem with the Symbols database while regrouping. Es gab ein Problem mit der Symboldatenbank bei der Neugruppierung. - + You have not selected a Smart Group. Kindly select a Smart Group to edit. Sie haben keine schlaue Gruppe gewählt. Bitte eine zur Bearbeitung wählen. - + Database Error! Datenbank-Fehler! @@ -37526,32 +37396,32 @@ Es gab ein Problem mit Ihrer Symboldatenbank. Stilmanager - + Marker Markierung - + Line Linie - + Fill Füllung - + Color ramp Farbverlauf - + Add item Element hinzufügen - + Share Freigeben @@ -37561,17 +37431,17 @@ Es gab ein Problem mit Ihrer Symboldatenbank. Elemente - + Edit item Element bearbeiten - + Edit Bearbeiten - + Remove item Element löschen @@ -37832,10 +37702,6 @@ Es gab ein Problem mit Ihrer Symboldatenbank. QGIS Mailing lists QGIS-Mailinglisten - - If you need help using QGIS we have a 'users' mailing list where users help each other with issues related to using our sofware. We also have a 'developers' mailing list. for those wanting help and to discuss things relating the the QGIS code base. Details on how to subscribe are in the <a href="http://www.qgis.org/en/community/mailing-lists.html">community section</a> of the QGIS home page (http://www.qgis.org/en/community/mailing-lists.html). - Wenn Sie Hilfe bei der Benutzung von QGIS brauchen, gibt es eine englische Anwender-Mailingliste, wo die Anwender sich gegenseitig helfen können. Wir haben außerdem eine englische Entwickler-Mailingliste, auf der über die Codebasis diskutiert werden kann. Details zum Abonnement stehen in der Abteilung <a href="http://www.qgis.org/de/gemeinschaft/mailinglisten.html">Gemeinschaft</a> auf der QGIS-Homepage (http://www.qgis.org/de/gemeinschaft/mailinglisten.html). - Is it 'QGIS' or 'Quantum GIS'? @@ -38766,28 +38632,28 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden? QgsVectorLayerProperties - + Stop editing mode to enable this. Bearbeitungsmodus beenden, um dies zu aktivieren. - + Name conflict Namenskonflikt - + The attribute could not be inserted. The name already exists in the table. Das Attribut konnte nicht eingefügt werden, da der Name bereits vorhanden ist. - + Added attribute Attribut hinzugefügt - + Deleted attribute Attribute gelöscht @@ -38865,18 +38731,6 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?UUID generator UUID-Generator - - Text diagram - Textdiagramm - - - Pie chart - Kuchendiagramm - - - Map units - Karteneinheiten - @@ -38899,14 +38753,14 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?Layereigenschaften aus Stildatei laden - + QGIS Layer Style File QGIS-Layerstildatei - + SLD File @@ -38927,26 +38781,6 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?UI file UI-Dateien - - Background color - Hintergrundfarbe - - - Pen color - Stiftfarbe - - - mm - mm - - - MM - mm - - - AroundPoint - UmPunkt - Save Style @@ -38958,58 +38792,22 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?Stil speichern... - OverPoint - ÜberPunkt - - - Line - Linie - - - Horizontal - Horizontal - - - Free - Frei - - - On line - Auf Linie - - - Above line - Über Linie - - - Below Line - Unter Linie - - - Map orientation - Kartenorientierung - - - None - Keine - - - + Type Typ - + Length Länge - + Precision Genauigkeit - + Comment Kommentar @@ -39045,32 +38843,32 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?Dieser Knopf öffnet die Abfrageerstellung und ermöglicht, statt aller Objekte, eine Untermenge der Objekte auf dem Kartenfenster darzustellen - + Overlay Überlagern - + Layer Properties - %1 Layereigenschaften - %1 - + Id Id - + Name Name - + Edit widget Bearbeitungselement - + Alias Alias @@ -39298,110 +39096,6 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?Diagrams Diagramme - - Display diagrams - Diagramme anzeigen - - - Diagram type - Diagrammtyp - - - Priority: - Priorität: - - - Low - Niedrig - - - High - Hoch - - - Appearance - Darstellung - - - Scale dependent visibility - Maßstabsabhängige Sichtbarkeit - - - Background color - Hintergrundfarbe - - - Pen color - Stiftfarbe - - - Data defined position - Datendefinierte Position - - - Pen width - Stiftbreite - - - Font... - Schriftart... - - - Size - Größe - - - Fixed size - Feste Größe - - - Scale linearly between 0 and the following attribute value / diagram size: - Diagrammgröße linear zwischen 0 und dem folgenden Attributwert skalieren: - - - Attribute - Attribut - - - Find maximum value - Maximalwert suchen - - - Size units - Größeneinheit - - - Position - Position - - - Placement - Platzierung - - - Line Options - Linienoptionen - - - Distance - Entfernung - - - x - x - - - y - y - - - Attributes - Attribute - - - Color - Farbe - Edit UI @@ -40385,14 +40079,14 @@ Versuchte URL: %1 - + Dom Exception DOM-Ausnahme - + Could not get WCS capabilities in the expected format (DTD): no %1 found. This might be due to an incorrect WCS Server URL. Tag:%3 @@ -40433,24 +40127,24 @@ Antwort war: - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + WCS WCS @@ -40460,78 +40154,78 @@ Antwort war: Coverage nicht gefunden - + Cannot calculate extent Konnte Ausdehnung nicht berechnen - + Cannot get test dataset. Konnte Testdatensatz nicht laden. - + Block read OK Blocklesung OK - + Getting map via WCS. Lade Karte über WCS. - + Map request error (Status: %1; Reason phrase: %2; URL:%3) Kartenabfrage-Fehler (Status: %1; Grund:%2; URL: %3) - - + + Map request error (Title:%1; Error:%2; URL: %3) Kartenabfrage-Fehler (Titel: %1; Fehler:%2; URL: %3) - + Map request error (Status: %1; Response: %2; URL:%3) Kartenabfrage-Fehler (Status: %1; Antwort:%2; URL: %3) - + Cannot find boundary in multipart content type Konnte Begrenzungen in Multipart-Content-Type nicht finden - + Map request error (Response: %1; URL:%2) Kartenabfrage-Fehler (Antwort:%1; URL: %2) - + Cannot create memory file Konnte Speicherdatei nicht erzeugen - + Map request failed [error:%1 url:%2] Kartenabfrage-Fehler [Fehler:%1; URL: %2] - + Not logging more than 100 request errors. Nicht mehr als 100 Abfragefehler werden protokolliert. - + %1 of %2 bytes of map downloaded. %1 von %2 Bytes der Karte heruntergeladen. - + Dom Exception DOM-Ausnahme - + Could not get WCS Service Exception at %1: %2 at line %3 column %4 Response was: @@ -40544,163 +40238,163 @@ Antwort war: %5 - + Request contains a format not offered by the server. Anfrage enthält ein Format, dass der Server nicht anbietet. - + Request is for a Coverage not offered by the service instance. Angefragte Coverage wird von Serverinstanz nicht angeboten. - + Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number. Wert des (optionalen) Aktualisierungssequenenzzählers der GetCapabilities-Anfrage entspricht dem aktuellen Wert des Aktualisierungssequenzzähler in den Dienstmetadaten. - + Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number. Wert des (optionalen) Aktualisierungssequenenzzählers der GetCapabilities-Anfrage ist größer als der aktuelle Wert des Aktualisierungssequenzzähler in den Dienstmetadaten. - + Request contains an invalid parameter value. Anfrage enthält einen ungültigen Parameterwert. - + No other exceptionCode specified by this service and server applies to this exception. Kein anderer Ausnahmecode des Dienstes und Servers trifft auf diese Ausnahme zu. - + Operation request contains an output CRS that can not be used within the output format. Operationsanfrage enthält ein Ausgabe-KBS, das nicht mit dem Ausgabeformat verwendet werden kann. - + Expected 2 parts, %1 received %1 statt zwei Teilen empfangen - + Rotating raster Raster wird gedreht - + Received coverage has wrong size %1 x %2 (expected %3 x %4) Empfangene Coverage hat die falsche Größe %1 x %2 (erwartet %3 x %4) - + More than 2 parts (%1) received Mehr als 2 Teile (%1) empfangen - + Content-Transfer-Encoding %1 not supported Content-Transfer-Encoding %1 nicht unterstützt - + No data received Keine Daten empfangen - + Request does not include a parameter value, and the server instance did not declare a default value for that dimension. Anfrage enthält keinen Parameterwert, und die Serverinstanz selbst definiert auch keine Vorgabe dafür. - + Operation request specifies to "store" the result, but not enough storage is available to do this. Operationsanfrage gibt das "Speichern" des Ergebnisses vor, aber es ist nicht genügend Speicher dafür verfügbar. - + (No error code was reported) (Kein Fehlercode zurückgegeben) - + (Unknown error code) (Unbekannter Fehlercode) - + The WCS vendor also reported: Der WCS-Betreiber meldete folgendes: - + composed error message '%1'. Zusammengestellte Fehlermeldung '%1'. - - + + Property Eigenschaft - - + + Value Wert - + Name (identifier) Name (Kennung) - - + + Title Titel - - + + Abstract Zusammenfassung - + Fixed Width Feste Breite - + Fixed Height Feste Höhe - + Native CRS Natives KBS - + Native Bounding Box Native Ausdehnung - + WGS 84 Bounding Box WGS84-Ausdehnung - - + + Available in CRS Verfügbar in KBS - - + + (and %n more) crs @@ -40709,205 +40403,197 @@ Antwort war: - - + + Available in format Verfügbar im Format - - + + Coverages Coverages - + Cache Stats Cache-Statistik - + Server Properties Server-Eigenschaften - + Keywords Schlüsselworte - + Online Resource Online-Quelle - + Contact Person Kontaktperson - + Fees Gebühren - + Access Constraints Zugriffsbeschränkungen - + Image Formats Bildformate - + GetCapabilitiesUrl GetCapabilities-URL - + Get Coverage Url GetCoverage-URL - + &nbsp;<font color="red">(advertised but ignored)</font> &nbsp;<font color="red">(gemeldet, aber ignoriert)</font> - + And %1 more coverages Und %1 weitere Coverages - - out of extent - außerhalb der Ausdehnung - - - null (no data) - Null (keine Daten) - QgsWmsProvider - + Tried URL: %1 URL %1 versucht - + Capabilities request redirected. Eigenschaften-Abfrage umgeleitet. - + empty of capabilities: %1 Eigenschaften leer: %1 - + Download of capabilities failed: %1 Eigenschaften-Abfrage gescheitert: %1 - + %1 of %2 bytes of capabilities downloaded. %1 von %2 Bytes der Eigenschaften heruntergeladen. - + %1 of %2 bytes of map downloaded. %1 von %2 Bytes der Karte heruntergeladen. - - - + + + Dom Exception DOM-Ausnahme - + Request contains a CRS not offered by the server for one or more of the Layers in the request. Anfrage verlangt ein CRS für einen oder mehrere Layer, die der Server nicht anbietet. - + Request contains a SRS not offered by the server for one or more of the Layers in the request. Anfrage enthält ein SRS für einen oder mehrere Layer, die der Server nicht anbietet. - + GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map. GetMap-Anfrage für einen Layer, den der Server nicht anbietet oder GetFeature-Anfrage für einen Layer, der nicht auf der Karte angezeigt wird. - + Request is for a Layer in a Style not offered by the server. Anfrage für einen Layer in einem Stil, den der Server nicht anbietet. - + GetFeatureInfo request is applied to a Layer which is not declared queryable. GetFeatureInfo-Anfrage wird auf einen Layer bezogen, der nicht als abfragbar deklariert ist. - + GetFeatureInfo request contains invalid X or Y value. GetFeatureInfo-Anfrage enthält einen ungültigen X- oder Y-Wert. - + Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number. Wert des (optionalen) Aktualisierungssequenenzzählers der GetCapabilities-Anfrage entspricht dem aktuellen Wert des Aktualisierungssequenzzähler in den Dienstmetadaten. - + Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number. Wert des (optionalen) Aktualisierungssequenenzzählers der GetCapabilities-Anfrage ist größer als der aktuelle Wert des Aktualisierungssequenzzähler in den Dienstmetadaten. - + Request does not include a sample dimension value, and the server did not declare a default value for that dimension. Anfrage enthält keinen beispielhaften Dimensionswert, und der Server selbst definiert auch keinen. - + Request contains an invalid sample dimension value. Anfrage enthält einen ungültigen beispielhaften Dimensionswert. - + Request is for an optional operation that is not supported by the server. Anfrage ist für eine optionale Operation, die der Server nicht unterstützt. - + The WMS vendor also reported: Der WMS-Betreiber meldete folgendes: - - - - + + + + Property Eigenschaft - - - - + + + + Value Wert - + (and %n more) crs @@ -40916,104 +40602,104 @@ URL %1 versucht - - + + Selected Layers Gewählte Layer - - + + Other Layers Andere Layer - + Tile Layer Properties Kachellayer-Eigenschaften - + WMS Version WMS-Version - - - + + + Title Titel - - - + + + Abstract Zusammenfassung - + Keywords Schlüsselworte - + Online Resource Online-Quelle - + Contact Person Kontaktperson - + Fees Gebühren - + Access Constraints Zugriffsbeschränkungen - + Image Formats Bildformate - + Identify Formats Abfrageformate - + Layer Count Layeranzahl - + Selected Ausgewählt - - - - + + + + Yes Ja - - - - + + + + No Nein - + Visibility Sichtbarkeit @@ -41028,110 +40714,110 @@ URL %1 versucht Lade Kacheln. - + Tile request error (Title:%1; Error:%2; URL: %3) Kachelabfrage-Fehler (Titel: %1; Fehler: %2; URL: %3) - + Tile request error (Status:%1; Content-Type:%2; Length:%3; URL: %4) Kachelabfrage-Fehler (Status: %1; Content-Typ: %2; Länge: %3; URL: %4) - + Tile request failed [error:%1 url:%2] Kachelabfrage-Fehler [Fehler: %1; URL: %2] - - + + Not logging more than 100 request errors. Nicht mehr als 100 Abfragefehler werden protokolliert. - + Map request error (Status: %1; Reason phrase: %2; URL:%3) Kartenabfrage-Fehler (Status: %1; Grund:%2; URL: %3) - + Map request error (Title:%1; Error:%2; URL: %3) Kartenabfrage-Fehler (Titel: %1; Fehler:%2; URL: %3) - + Map request error (Status: %1; Response: %2; URL:%3) Kartenabfrage-Fehler (Status: %1; Antwort:%2; URL: %3) - + Map request failed [error:%1 url:%2] Kartenabfrage-Fehler [Fehler:%1; URL: %2] - + Visible Sichtbar - + Hidden Versteckt - + Can Identify Kann abgefragt werden - + Can be Transparent Kann transparent sein - + Cascade Count Kaskadiere Anzahl - + Fixed Width Feste Breite - + Fixed Height Feste Höhe - + WGS 84 Bounding Box WGS84-Ausdehnung - - + + Available in CRS Verfügbar in KBS - + Available in style Verfügbar im Stil - - + + Name Name - + Available Tilesets Verfügbare Kachelsätze - + Cache stats Cache-Statistik @@ -41139,20 +40825,20 @@ URL %1 versucht - - - - + + + - - - - - + + + + + - - - + + + + WMS WMS @@ -41172,30 +40858,30 @@ URL %1 versucht Unerwartete Bildgröße - + Tile request error Tile-Anfragefehler - + Status: %1 Reason phrase: %2 Status: %1 Grund: %2 - - + + Returned image is flawed [%1] Geladenes Bild ist defekt [%1] - + empty capabilities document Leeres Capabilities-Dokument - + Could not get WMS capabilities: %1 at line %2 column %3 This is probably due to an incorrect WMS Server URL. Response was: @@ -41208,7 +40894,7 @@ Antwort war: %4 - + Could not get WMS capabilities in the expected format (DTD): no %1 or %2 found. This might be due to an incorrect WMS Server URL. Tag:%3 @@ -41222,7 +40908,7 @@ Antwort war: %4 - + Could not get WMS Service Exception at %1: %2 at line %3 column %4 Response was: @@ -41235,109 +40921,109 @@ Antwort war: %5 - + Request contains a format not offered by the server. Anfrage enthält ein Format, dass der Server nicht anbietet. - + composed error message '%1'. Zusammengestellte Fehlermeldung '%1'. - + GetCapabilitiesUrl GetCapabilities-URL - + GetMapUrl GetMap-URL - - + + &nbsp;<font color="red">(advertised but ignored)</font> &nbsp;<font color="red">(gemeldet, aber ignoriert)</font> - + WMTS WMTS - + WMS-C WMS-C - + Available Styles Verfügbare Stile - + CRS KBS - + Bounding Box Ausdehnung - + Hits Treffer - + Misses Fehlgriffe - + Errors Fehler - + Layer cannot be queried in plain text. Layer kann in Klartext abgefragt werden. - + Layer cannot be queried. Layer kann nicht abgefragt werden. - + identify request redirected. Identify-Anfrage umgeleitet. - + Map getfeatureinfo error %1: %2 GetFeatureInfo-Fehler %1: %2 - + ERROR: GetFeatureInfo failed FEHLER: GetFeatureInfo gescheitert - + Map getfeatureinfo error: %1 [%2] GetFeatureInfo-Fehler %1 [%2] - + Can Zoom In Kann herangezoomt werden - + %n tile requests in background tile request count @@ -41347,7 +41033,7 @@ Antwort war: - + , %n cache hits tile cache hits @@ -41357,7 +41043,7 @@ Antwort war: - + , %n cache misses. tile cache missed @@ -41367,7 +41053,7 @@ Antwort war: - + , %n errors. errors @@ -41376,53 +41062,53 @@ Antwort war: - - + + Server Properties Server-Eigenschaften - + Tile Layer Count Kachellayeranzahl - + GetTileUrl GetTileUrl - + Tile templates Kachelvorlagen - + FeatureInfo templates FeatureInfo-Vorlagen - + Tileset Properties Tileset-Eigenschaften - + Cache Stats Cache-Statistik - + GetFeatureInfoUrl GetFeatureInfoUrl - + (No error code was reported) (Kein Fehlercode zurückgegeben) - + (Unknown error code) (Unbekannter Fehlercode) @@ -42276,6 +41962,13 @@ Beschreibung: %3 %1 ist ein ungültiger Layer und kann nicht geladen werden. + + SumLines + + length field + Längenfeld + + SymbolsListWidget @@ -45155,7 +44848,7 @@ Erweiterung wird nicht aktiviert. Fill no-data areas in raster using v.surf.rst splines interpolation - NoData-Flächen in Raster nach v.surf.rst Spline-Interpolation füllen + Leerflächen in Raster nach v.surf.rst Spline-Interpolation füllen diff --git a/python/core/qgscomposermultiframe.sip b/python/core/qgscomposermultiframe.sip index ecea5975f8c..b3a7f6c513b 100644 --- a/python/core/qgscomposermultiframe.sip +++ b/python/core/qgscomposermultiframe.sip @@ -42,6 +42,10 @@ public: /**Removes and deletes all frames from mComposition*/ void deleteFrames(); - int nFrames() const; + int nFrames() const /Deprecated/; + /** Return the number of frames associated with this multiframeset. + @note added in 2.0, replaces nFrames + **/ + int frameCount() const; QgsComposerFrame* frame( int i ); }; diff --git a/src/app/qgsmeasuretool.cpp b/src/app/qgsmeasuretool.cpp index 0a07f2c26f2..ce0046a7e87 100644 --- a/src/app/qgsmeasuretool.cpp +++ b/src/app/qgsmeasuretool.cpp @@ -102,8 +102,6 @@ void QgsMeasureTool::deactivate() void QgsMeasureTool::restart() { mPoints.clear(); - // Append point we will move - // mPoints.append( QgsPoint( 0, 0 ) ); mRubberBand->reset( mMeasureArea ); @@ -179,6 +177,7 @@ void QgsMeasureTool::canvasReleaseEvent( QMouseEvent * e ) } else if ( e->button() == Qt::LeftButton ) { + // Append point we will move addPoint( point ); mDialog->show(); } diff --git a/src/app/qgsrasterlayerproperties.cpp b/src/app/qgsrasterlayerproperties.cpp index 2fc2d838209..3abf93251ba 100644 --- a/src/app/qgsrasterlayerproperties.cpp +++ b/src/app/qgsrasterlayerproperties.cpp @@ -660,21 +660,24 @@ void QgsRasterLayerProperties::apply() */ //set NoDataValue - bool myDoubleOk = false; + QList myNoDataRangeList; if ( "" != leNoDataValue->text() ) { - QList myNoDataRangeList; + bool myDoubleOk = false; double myNoDataValue = leNoDataValue->text().toDouble( &myDoubleOk ); if ( myDoubleOk ) { - mRasterLayer->setNoDataValue( myNoDataValue ); + //mRasterLayer->setNoDataValue( myNoDataValue ); QgsRasterInterface::Range myNoDataRange; myNoDataRange.min = myNoDataValue; myNoDataRange.max = myNoDataValue; myNoDataRangeList << myNoDataRange; } - mRasterLayer->dataProvider()->setUserNoDataValue( 1, myNoDataRangeList ); + } + for ( int bandNo = 1; bandNo <= mRasterLayer->dataProvider()->bandCount(); bandNo++ ) + { + mRasterLayer->dataProvider()->setUserNoDataValue( bandNo, myNoDataRangeList ); } //set renderer from widget diff --git a/src/core/composer/qgscomposermultiframe.cpp b/src/core/composer/qgscomposermultiframe.cpp index 64bc84b7395..a9469908b98 100644 --- a/src/core/composer/qgscomposermultiframe.cpp +++ b/src/core/composer/qgscomposermultiframe.cpp @@ -238,7 +238,7 @@ void QgsComposerMultiFrame::deleteFrames() mResizeMode = bkResizeMode; } -QgsComposerFrame* QgsComposerMultiFrame::frame( int i ) +QgsComposerFrame* QgsComposerMultiFrame::frame( int i ) const { if ( i >= mFrameItems.size() ) { diff --git a/src/core/composer/qgscomposermultiframe.h b/src/core/composer/qgscomposermultiframe.h index 50ff4a2db30..cb82e4c039f 100644 --- a/src/core/composer/qgscomposermultiframe.h +++ b/src/core/composer/qgscomposermultiframe.h @@ -69,8 +69,14 @@ class CORE_EXPORT QgsComposerMultiFrame: public QObject /**Removes and deletes all frames from mComposition*/ void deleteFrames(); - int nFrames() const { return mFrameItems.size(); } - QgsComposerFrame* frame( int i ); + + /** Deprecated in 2.0 use frameCount rather. **/ + Q_DECL_DEPRECATED int nFrames() const { return mFrameItems.size(); } + /** Return the number of frames associated with this multiframeset. + @note added in 2.0, replaces nFrames + **/ + int frameCount() const { return mFrameItems.size(); } + QgsComposerFrame* frame( int i ) const; protected: QgsComposition* mComposition; diff --git a/src/core/composer/qgscomposition.cpp b/src/core/composer/qgscomposition.cpp index a589fb5b16a..ac85755c62c 100644 --- a/src/core/composer/qgscomposition.cpp +++ b/src/core/composer/qgscomposition.cpp @@ -185,8 +185,6 @@ QList QgsComposition::composerMapItems() const const QgsComposerMap* QgsComposition::getComposerMapById( int id ) const { - QList resultList; - QList itemList = items(); QList::iterator itemIt = itemList.begin(); for ( ; itemIt != itemList.end(); ++itemIt ) @@ -200,7 +198,47 @@ const QgsComposerMap* QgsComposition::getComposerMapById( int id ) const } } } + return 0; +} +const QgsComposerHtml* QgsComposition::getComposerHtmlByItem( QgsComposerItem *item ) const +{ + QList itemList = items(); + QList::iterator itemIt = itemList.begin(); + for ( ; itemIt != itemList.end(); ++itemIt ) + { + const QgsComposerHtml* composerHtml = dynamic_cast( *itemIt ); + if ( composerHtml ) + { + //Now cycle through the items associated with this html composer + //and return the composer if the item matches any of them + for ( int i=0; iframeCount(); i++ ) + { + if ( composerHtml->frame(i)->id() == item->id() ) + { + return composerHtml; + } + } + } + } + return 0; +} + +const QgsComposerItem* QgsComposition::getComposerItemById( QString theId ) const +{ + QList itemList = items(); + QList::iterator itemIt = itemList.begin(); + for ( ; itemIt != itemList.end(); ++itemIt ) + { + const QgsComposerItem* mypItem = dynamic_cast( *itemIt ); + if ( mypItem ) + { + if ( mypItem->id() == theId ) + { + return mypItem; + } + } + } return 0; } @@ -1282,7 +1320,7 @@ void QgsComposition::removeComposerItem( QgsComposerItem* item, bool createComma //check if there are frames left. If not, remove the multi frame if ( frameItem && multiFrame ) { - if ( multiFrame->nFrames() < 1 ) + if ( multiFrame->frameCount() < 1 ) { removeMultiFrame( multiFrame ); if ( createCommand ) diff --git a/src/core/composer/qgscomposition.h b/src/core/composer/qgscomposition.h index 7d8f6fec10e..ff341b01709 100644 --- a/src/core/composer/qgscomposition.h +++ b/src/core/composer/qgscomposition.h @@ -124,9 +124,25 @@ class CORE_EXPORT QgsComposition: public QGraphicsScene template void composerItems( QList& itemList ); /**Returns the composer map with specified id - @return id or 0 pointer if the composer map item does not exist*/ + @return QgsComposerMap or 0 pointer if the composer map item does not exist*/ const QgsComposerMap* getComposerMapById( int id ) const; + /*Returns the composer html with specified id (a string as named in the + composer user interface item properties). + @note Added in QGIS 2.0 + @param id - A QString representing the id of the item. + @return QgsComposerHtml pointer or 0 pointer if no such item exists. + */ + const QgsComposerHtml* getComposerHtmlByItem( QgsComposerItem *item ) const; + + /**Returns a composer item given its text identifier. + @note added in 2.0 + @param theId - A QString representing the identifier of the item to + retrieve. + @return QgsComposerItem pointer or 0 pointer if no such item exists. + **/ + const QgsComposerItem* getComposerItemById( QString theId ) const; + int printResolution() const {return mPrintResolution;} void setPrintResolution( int dpi ) {mPrintResolution = dpi;} diff --git a/tests/src/python/qgscompositionchecker.py b/tests/src/python/qgscompositionchecker.py index 98ddc030218..8fb302836fc 100644 --- a/tests/src/python/qgscompositionchecker.py +++ b/tests/src/python/qgscompositionchecker.py @@ -14,7 +14,7 @@ qgscompositionchecker.py - check rendering of Qgscomposition against an expected * * ***************************************************************************/ ''' -from PyQt4.QtCore import * +from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * @@ -22,17 +22,18 @@ class QgsCompositionChecker: def testComposition(self, mTestName, mComposition, mExpectedImageFile, page=0 ): if ( mComposition == None): - return false + myMessage = "Composition not valid" + return False, myMessage #load expected image expectedImage = QImage( mExpectedImageFile ) - + #get width/height, create image and render the composition to it width = expectedImage.width(); height = expectedImage.height(); outputImage = QImage( QSize( width, height ), QImage.Format_ARGB32 ) - + mComposition.setPlotStyle( QgsComposition.Print ) outputImage.setDotsPerMeterX( expectedImage.dotsPerMeterX() ) outputImage.setDotsPerMeterY( expectedImage.dotsPerMeterX() ) @@ -40,29 +41,47 @@ class QgsCompositionChecker: p = QPainter( outputImage ) mComposition.renderPage( p, page ) p.end() - + renderedFilePath = QDir.tempPath() + QDir.separator() + QFileInfo( mExpectedImageFile ).baseName() + "_rendered_python.png" outputImage.save( renderedFilePath, "PNG" ) - + diffFilePath = QDir.tempPath() + QDir.separator() + QFileInfo( mExpectedImageFile ).baseName() + "_diff_python.png" testResult = self.compareImages( expectedImage, outputImage, diffFilePath ) - - myDashMessage = "" + renderedFilePath + "" + "\n" + "" + mExpectedImageFile + "" + "\n" + "" + diffFilePath + "" + + myDashMessage = (('' + '%s' + '' + '%s\n' + '' + '%s') % + (mTestName, renderedFilePath, mTestName, + mExpectedImageFile, mTestName, diffFilePath ) + ) qDebug( myDashMessage ) - return testResult + if not testResult: + myMessage = ('Expected: %s\nGot: %s\nDifference: %s\n' % + (mExpectedImageFile, renderedFilePath, diffFilePath)) + else: + myMessage = 'Control and test images matched.' + return testResult, myMessage def compareImages( self, imgExpected, imgRendered, differenceImagePath ): - if ( imgExpected.width() != imgRendered.width() or imgExpected.height() != imgRendered.height() ): - return false - + if ( imgExpected.width() != imgRendered.width() + or imgExpected.height() != imgRendered.height() ): + return False + imageWidth = imgExpected.width() imageHeight = imgExpected.height() mismatchCount = 0 - - differenceImage = QImage( imageWidth, imageHeight, QImage.Format_ARGB32_Premultiplied ) + + differenceImage = QImage( + imageWidth, imageHeight, QImage.Format_ARGB32_Premultiplied ) differenceImage.fill( qRgb( 152, 219, 249 ) ) - + pixel1 = QColor().rgb() pixel2 = QColor().rgb() for i in range( imageHeight ): @@ -72,13 +91,12 @@ class QgsCompositionChecker: if ( pixel1 != pixel2 ): mismatchCount = mismatchCount + 1 differenceImage.setPixel( j, i, qRgb( 255, 0, 0 ) ) - + if not differenceImagePath.isEmpty(): differenceImage.save( differenceImagePath, "PNG" ) - + #allow pixel deviation of 1 percent pixelCount = imageWidth * imageHeight; # print "MismatchCount: "+str(mismatchCount) # print "PixelCount: "+str(pixelCount) return (float(mismatchCount) / float(pixelCount) ) < 0.01 - diff --git a/tests/src/python/test_qgscomposerhtml.py b/tests/src/python/test_qgscomposerhtml.py index 1fc6b682d25..74a88c8ec4b 100644 --- a/tests/src/python/test_qgscomposerhtml.py +++ b/tests/src/python/test_qgscomposerhtml.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- ''' -test_qgscomposerhtml.py +test_qgscomposerhtml.py -------------------------------------- Date : August 2012 - Copyright : (C) 2012 by Dr. Horst Düster / Dr. Marco Hugentobler + Copyright : (C) 2012 by Dr. Horst Düster / + Dr. Marco Hugentobler + Tim Sutton email : marco@sourcepole.ch *************************************************************************** * * @@ -13,66 +15,107 @@ test_qgscomposerhtml.py * (at your option) any later version. * * * ***************************************************************************/ -''' +''' import unittest -from utilities import * -from PyQt4.QtCore import * -from PyQt4.QtGui import * -from qgis.core import * +import os +from utilities import unitTestDataPath, getQgisTestApp +from PyQt4.QtCore import QUrl, QString, qDebug +from qgis.core import (QgsComposition, + QgsComposerHtml, + QgsComposerFrame, + QgsComposerMultiFrame) + from qgscompositionchecker import QgsCompositionChecker QGISAPP, CANVAS, IFACE, PARENT = getQgisTestApp() +TEST_DATA_DIR = unitTestDataPath() class TestQgsComposerMap(unittest.TestCase): - - def testCase(self): - self.mComposition = QgsComposition( None ) - self.mComposition.setPaperSize( 297, 210 ) #A4 landscape - self.table() - self.tableMultiFrame() - - def table(self): - TEST_DATA_DIR = unitTestDataPath() - htmlItem = QgsComposerHtml( self.mComposition, False ) - htmlFrame = QgsComposerFrame( self.mComposition, htmlItem, 0, 0, 100, 200 ) - htmlFrame.setFrameEnabled( True ) - htmlItem.addFrame( htmlFrame ) - htmlItem.setUrl( QUrl( QString( "file:///%1" ).arg( QString( TEST_DATA_DIR ) + QDir.separator() + "html_table.html" ) ) ); - checker = QgsCompositionChecker( ) - result = checker.testComposition( "Composer html table", self.mComposition, QString( TEST_DATA_DIR + QDir.separator().toAscii() + "control_images" + QDir.separator().toAscii() + "expected_composerhtml" + QDir.separator().toAscii() + "composerhtml_table.png" ) ) - self.mComposition.removeMultiFrame( htmlItem ) - del htmlItem - assert result == True - - def tableMultiFrame(self): - TEST_DATA_DIR = unitTestDataPath() - htmlItem = QgsComposerHtml( self.mComposition, False ) - htmlFrame = QgsComposerFrame( self.mComposition, htmlItem, 10, 10, 100, 50 ) - htmlItem.addFrame( htmlFrame ) - htmlItem.setResizeMode( QgsComposerMultiFrame.RepeatUntilFinished ) - - htmlItem.setUrl( QUrl( QString( "file:///%1" ).arg( QString( TEST_DATA_DIR ) + QDir.separator() + "html_table.html" ) ) ) - htmlItem.frame( 0 ).setFrameEnabled( True ) - + + def setUp(self): + """Run before each test.""" + self.mComposition = QgsComposition(None) + self.mComposition.setPaperSize(297, 210) #A4 landscape + self.htmlItem = QgsComposerHtml(self.mComposition, False) + + def tearDown(self): + """Run after each test.""" + print "Tear down" + if self.htmlItem: + self.mComposition.removeMultiFrame(self.htmlItem) + del self.htmlItem + + def controlImagePath(self, theImageName): + """Helper to get the path to a control image.""" + myPath = os.path.join(TEST_DATA_DIR, + "control_images", + "expected_composerhtml", + theImageName) + assert os.path.exists(myPath) + return myPath + + def htmlUrl(self): + """Helper to get the url of the html doc.""" + myPath = os.path.join(TEST_DATA_DIR, "html_table.html") + myUrl = QUrl(QString("file:///%1").arg(myPath)) + return myUrl + + def testTable(self): + """Test we can render a html table in a single frame.""" + htmlFrame = QgsComposerFrame(self.mComposition, + self.htmlItem, 0, 0, 100, 200) + htmlFrame.setFrameEnabled(True) + self.htmlItem.addFrame(htmlFrame) + self.htmlItem.setUrl(self.htmlUrl()) + checker = QgsCompositionChecker() + myResult, myMessage = checker.testComposition( + "Composer html table", + self.mComposition, + self.controlImagePath("composerhtml_table.png")) + qDebug(myMessage) + assert myResult, myMessage + + def testTableMultiFrame(self): + """Test we can render to multiframes.""" + htmlFrame = QgsComposerFrame(self.mComposition, self.htmlItem, + 10, 10, 100, 50) + self.htmlItem.addFrame(htmlFrame) + self.htmlItem.setResizeMode(QgsComposerMultiFrame.RepeatUntilFinished) + self.htmlItem.setUrl(self.htmlUrl()) + self.htmlItem.frame(0).setFrameEnabled(True) + result = True - #page 1 - checker1 = QgsCompositionChecker( ) - if not checker1.testComposition( "Composer html table", self.mComposition, QString( QString( TEST_DATA_DIR ) + QDir.separator() + "control_images" + QDir.separator() + "expected_composerhtml" + QDir.separator() + "composerhtml_table_multiframe1.png" ), 0 ): - result = False - - checker2 = QgsCompositionChecker( ) - if not checker2.testComposition( "Composer html table", self.mComposition, QString( QString( TEST_DATA_DIR ) + QDir.separator() + "control_images" + QDir.separator() + "expected_composerhtml" + QDir.separator() + "composerhtml_table_multiframe2.png" ) , 1 ): - result = False - - checker3 = QgsCompositionChecker( ) - if not checker3.testComposition( "Composer html table", self.mComposition, QString( QString( TEST_DATA_DIR ) + QDir.separator() + "control_images" + QDir.separator() + "expected_composerhtml" + QDir.separator() + "composerhtml_table_multiframe3.png" ), 2 ): - result = False - - self.mComposition.removeMultiFrame( htmlItem ) - del htmlItem - - assert result == True - + myPage = 0 + checker1 = QgsCompositionChecker() + myControlImage = self.controlImagePath( + "composerhtml_table_multiframe1.png") + print "Checking page 1" + myResult, myMessage = checker1.testComposition("Composer html table", + self.mComposition, + myControlImage, + myPage) + assert myResult, myMessage + + myPage = 1 + checker2 = QgsCompositionChecker() + myControlImage = self.controlImagePath( + "composerhtml_table_multiframe2.png") + myResult, myMessage = checker2.testComposition("Composer html table", + self.mComposition, + myControlImage, + myPage) + assert myResult, myMessage + + myPage = 2 + checker3 = QgsCompositionChecker() + myControlImage = self.controlImagePath( + "composerhtml_table_multiframe3.png") + myResult, myMessage = checker3.testComposition("Composer html table", + self.mComposition, + myControlImage, + myPage) + assert myResult, myMessage + if __name__ == '__main__': unittest.main()
LanguageFinished %Translators
German
99.9
Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho
German
100.0
Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho
Galician (Spain)
96.5
Xan Vieiro
Italian
91.5
Paolo Cavallini, Flavio Rigolon, Maurizio Napolitano, Roberto Angeletti, Alessandro Fanna, Michele Beneventi, Marco Braida, Luca Casagrande, Luca Delucchi, Anne Gishla
Japanese
91.5
BABA Yoshihiko, Yoichi Kayama
Dutch
91.5
Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk
Polish (Poland)
91.5
Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Loskot, Tomasz Paul, Andrzej Swiader
Portuguese (Brazil)
91.5
Arthur Nanni
Russian
91.5
Artem Popov
Italian
91.4
Paolo Cavallini, Flavio Rigolon, Maurizio Napolitano, Roberto Angeletti, Alessandro Fanna, Michele Beneventi, Marco Braida, Luca Casagrande, Luca Delucchi, Anne Gishla
Japanese
91.4
BABA Yoshihiko, Yoichi Kayama
Dutch
91.4
Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk
Polish (Poland)
91.4
Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Loskot, Tomasz Paul, Andrzej Swiader
Portuguese (Brazil)
91.4
Arthur Nanni
Russian
91.4
Artem Popov
French
91.4
Eve Rousseau, Marc Monnerat, Lionel Roubeyrie, Jean Roc Morreale, Benjamin Bohard, Jeremy Garniaux, Yves Jacolin, Benjamin Lerre, Stéphane Morel, Marie Silvestre, Tahir Tamba, Xavier M, Mayeul Kauffmann, Mehdi Semchaoui, Robin Cura, Etienne Tourigny, Mathieu Bossaert
Estonian (Estonia)
91.2
Veiko Viil
Spanish
90.8
Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann
Czech (Czech Republic)
90.6
Martin Landa, Peter Antolik, Martin Dzurov, Jan Helebrant
Hungarian
89.6
Zoltan Siki
Hungarian
89.5
Zoltan Siki
Korean (Korea, Republic of)
88.7
BJ Jang
Slovenian (Slovenia)
85.4
Jože Detečnik, Dejan Gregor
Chinese (China)
79.5
Calvin Ngei, Zhang Jun
Slovenian (Slovenia)
85.3
Jože Detečnik, Dejan Gregor
Chinese (China)
79.4
Calvin Ngei, Zhang Jun
Latvian
74.1
Maris Nartiss, Pēteris Brūns
Indonesian
62.9
Januar V. Simarmata, I Made Anombawa
Croatian (Croatia)
62.0
Zoran Jankovic
Croatian (Croatia)
61.9
Zoran Jankovic
Serbian ()
61.4
Thai
55.8
Man Chao
Portuguese (Portugal)
54.4
Giovanni Manghi, Joana Simoes, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro
Ukrainian
49.8
Сергей Якунин
Turkish
49.4
Osman Yilmaz
Chinese (Taiwan, Province of China)
44.7
Nung-yao Lin
Chinese (Taiwan, Province of China)
44.6
Nung-yao Lin
Vietnamese
42.4
Bùi Hữu Mạnh
Greek, Modern (1453-) (Greece)
40.4
Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves
Icelandic
37.5
Thordur Ivarsson
Mongolian
35.9
Bayarmaa Enkhtur
Swedish
32.5
Lars Luthman, Magnus Homann
Finnish
25.2
Marko Jarvenpaa
Finnish
25.1
Marko Jarvenpaa
Danish (Denmark)
25.1
Preben Lisby
Georgian (Georgia)
23.9
Shota Murtskhvaladze, George Machitidze
Bulgarian
21.6
Захари Савов, Jordan Tzvetkov