Index: /applications/editors/josm/plugins/lang/de/de.po
===================================================================
--- /applications/editors/josm/plugins/lang/de/de.po	(revision 9853)
+++ /applications/editors/josm/plugins/lang/de/de.po	(revision 9854)
@@ -12,6 +12,6 @@
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-12 18:22+0200\n"
-"PO-Revision-Date: 2008-08-12 18:26+0200\n"
+"POT-Creation-Date: 2008-08-15 13:29+0200\n"
+"PO-Revision-Date: 2008-08-15 13:37+0200\n"
 "Last-Translator: Dirk Stöcker <lang@dstoecker.de>\n"
 "Language-Team: \n"
@@ -353,5 +353,5 @@
 #: ../colorscheme/src/at/dallermassl/josm/plugin/colorscheme/ColorSchemePreference.java:93
 #: ../wmsplugin/src/wmsplugin/WMSPreferenceEditor.java:75
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:508
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:507
 msgid "Delete"
 msgstr "Löschen"
@@ -410,5 +410,5 @@
 
 #: ../../core/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java:77
-#: ../../core/src/org/openstreetmap/josm/Main.java:414
+#: ../../core/src/org/openstreetmap/josm/Main.java:415
 msgid "Unsaved Changes"
 msgstr "Daten nicht gespeichert"
@@ -484,5 +484,5 @@
 #: ../../core/src/org/openstreetmap/josm/actions/HelpAction.java:105
 #: ../grid/src/grid/GridPlugin.java:43 ../grid/src/grid/GridPlugin.java:49
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:477
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:476
 msgid "Edit"
 msgstr "Bearbeiten"
@@ -568,5 +568,5 @@
 #: ../../core/src/org/openstreetmap/josm/gui/preferences/AdvancedPreference.java:116
 #: ../../core/src/org/openstreetmap/josm/gui/preferences/TaggingPresetPreference.java:65
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:496
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:495
 msgid "Please select the row to edit."
 msgstr "Bitte wählen sie eine Zeile zum Bearbeiten."
@@ -576,5 +576,5 @@
 #: ../../core/src/org/openstreetmap/josm/gui/preferences/TaggingPresetPreference.java:80
 #: ../wmsplugin/src/wmsplugin/WMSPreferenceEditor.java:80
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:512
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:511
 msgid "Please select the row to delete."
 msgstr "Bitte wählen Sie die zu löschende Zeile."
@@ -588,5 +588,5 @@
 #: ../colorscheme/src/at/dallermassl/josm/plugin/colorscheme/ColorSchemePreference.java:79
 #: ../wmsplugin/src/wmsplugin/WMSPreferenceEditor.java:55
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:467
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:466
 msgid "Add"
 msgstr "Hinzufügen"
@@ -1626,5 +1626,5 @@
 
 #: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:26
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:103
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:104
 msgid "Only interesting direction hints (e.g. with oneway tag)."
 msgstr "Nur interessante Richtungspfeile (z.B. bei Einbahnstraßen)."
@@ -1642,5 +1642,9 @@
 msgstr "Zeichne inaktive Ebenen in anderer Farbe"
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:43
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:30
+msgid "Smooth map graphics (antialiasing)"
+msgstr "Glätten der Kartengrafik (Anti-Aliasing)"
+
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:44
 msgid ""
 "If your gps device draw too few lines, select this to draw lines along your "
@@ -1650,13 +1654,13 @@
 "werden um die Linien entlang des Weges zu vervollständigen."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:48
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:49
 msgid "Maximum length (in meters) to draw lines. Set to '-1' to draw all lines."
 msgstr "Maximallänge zum Linienzeichnen (in Meter). Für alle Linien auf -1 setzen."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:50
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:51
 msgid "Maximum length (meters)"
 msgstr "Maximallänge (Meter)"
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:54
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:55
 msgid "Force drawing of lines if the imported data contain no line information."
 msgstr ""
@@ -1664,9 +1668,9 @@
 "Informationen enthalten."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:65
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:66
 msgid "Draw direction arrows for lines, connecting GPS points."
 msgstr "Zeichne Richtunspfeile für Linien zwischen GPS-Punkten."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:71
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:72
 msgid "Draw the direction arrows using table lookups instead of complex math."
 msgstr ""
@@ -1674,25 +1678,29 @@
 "Mathematik."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:78
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:79
 msgid "Choose the hue for the track color by the velocity at that point."
 msgstr "Farbton einer GPS-Spur abhängig von der Geschwindigkeit wählen."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:84
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:85
 msgid "Draw larger dots for the GPS points."
 msgstr "Zeichnet größere Punkte für GPS-Punkte."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:98
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:99
 msgid "Draw direction hints for way segments."
 msgstr "Zeichne Richtungspfeile für Abschnitte."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:109
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:110
 msgid "Draw the order numbers of all segments within their way."
 msgstr "Zeige die Ordnungsnummer für alle Abschnitte innerhalb des Weges."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:114
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:115
+msgid "Apply antialiasing to the map view resulting in a smoother appearance."
+msgstr "Anti-Aliasing in der kartenanzeige nutzen, um ein gefälligeres Aussehen zu erreichen."
+
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:120
 msgid "Draw the boundaries of data loaded from the server."
 msgstr "Grenze des vom OSM Server geladenen Bereichs anzeigen."
 
-#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:119
+#: ../../core/src/org/openstreetmap/josm/gui/preferences/DrawingPreference.java:125
 msgid "Draw the inactive data layers in a different color."
 msgstr "Zeichne inaktive Datenebenen in einer anderen Farbe."
@@ -1961,5 +1969,5 @@
 
 #: ../../core/src/org/openstreetmap/josm/gui/preferences/TaggingPresetPreference.java:91
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:523
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:522
 msgid "Delete the selected source from the list."
 msgstr "Ausgewählte Quelle löschen."
@@ -2018,10 +2026,10 @@
 msgstr "Drahtdarstellung"
 
-#: ../../core/src/org/openstreetmap/josm/gui/MapView.java:141
+#: ../../core/src/org/openstreetmap/josm/gui/MapView.java:143
 #: ../../core/src/org/openstreetmap/josm/gui/MainApplication.java:168
 msgid "Java OpenStreetMap - Editor"
 msgstr "Java OpenStreetMap - Editor"
 
-#: ../../core/src/org/openstreetmap/josm/gui/MapView.java:190
+#: ../../core/src/org/openstreetmap/josm/gui/MapView.java:192
 msgid "layer not in list."
 msgstr "Ebene nicht in der Liste."
@@ -2380,7 +2388,7 @@
 "information:</html>"
 msgstr ""
-"<html>Bitte melden Sie einen Fehler unter: {0}<br> "
-"Fügen Sie eine (möglichst ausführliche) Beschreibung der zum Reproduzieren notwendigen Schritte bei.<br> "
-"Stellen Sie sicher, dass folgende Informationen enthalten sind:</html>"
+"<html>Bitte melden Sie einen Fehler unter: {0}<br> Fügen Sie eine (möglichst "
+"ausführliche) Beschreibung der zum Reproduzieren notwendigen Schritte bei."
+"<br> Stellen Sie sicher, dass folgende Informationen enthalten sind:</html>"
 
 #: ../../core/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java:133
@@ -2428,18 +2436,18 @@
 "EPSG:4263."
 
-#: ../../core/src/org/openstreetmap/josm/Main.java:411
+#: ../../core/src/org/openstreetmap/josm/Main.java:412
 msgid "Hint: Some changes came from uploading new data to the server."
 msgstr "Hinweis: Einige Änderungen sind durch das Übertragen zum Server enstanden."
 
-#: ../../core/src/org/openstreetmap/josm/Main.java:413
+#: ../../core/src/org/openstreetmap/josm/Main.java:414
 msgid "There are unsaved changes. Discard the changes and continue?"
 msgstr "Es gibt ungesicherte Daten. Änderungen verwerfen und wirklich beenden?"
 
-#: ../../core/src/org/openstreetmap/josm/Main.java:426
+#: ../../core/src/org/openstreetmap/josm/Main.java:427
 #, java-format
 msgid "Ignoring malformed url: \"{0}\""
 msgstr "Ingnoriere die ungültige URL: \"{0}\""
 
-#: ../../core/src/org/openstreetmap/josm/Main.java:439
+#: ../../core/src/org/openstreetmap/josm/Main.java:440
 #, java-format
 msgid "Ignoring malformed file url: \"{0}\""
@@ -3591,15 +3599,25 @@
 msgstr "Raster Ebene:"
 
-#: ../lang/validator.java:28
+#: ../lang/validator.java:38
 msgid "oneway tag on a node"
 msgstr "Einbahnschlüssel auf einem Knoten"
 
-#: ../lang/validator.java:29 ../lang/validator.java:30
+#: ../lang/validator.java:39
+msgid "bridge tag on a node"
+msgstr "Brückenschlüssel auf einem Knoten"
+
+#: ../lang/validator.java:40 ../lang/validator.java:41
+#: ../lang/validator.java:42 ../lang/validator.java:43
+#: ../lang/validator.java:44
 msgid "wrong highway tag on a node"
 msgstr "Falscher Straßenschlüssel auf einem Knoten"
 
-#: ../lang/validator.java:31 ../lang/validator.java:32
+#: ../lang/validator.java:45 ../lang/validator.java:46
 msgid "highway without a reference"
 msgstr "Straße ohne Referenznummer"
+
+#: ../lang/validator.java:47
+msgid "misspelled key name"
+msgstr "Falschgeschriebener Schlüssel: name"
 
 #: ../lang/presets.java:11
@@ -7045,13 +7063,23 @@
 msgstr "Ähnlich benannte Wege"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:130
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:135
 msgid "Properties checker :"
 msgstr "Eigenschaftsprüfer:"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:131
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:136
 msgid "This plugin checks for errors in property keys and values."
 msgstr "Dieses Plugin prüft auf Fehler in Schlüsseln und Werten"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:225
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:207
+#, java-format
+msgid "Invalid tagchecker line - {0}: {1}"
+msgstr "Ungültige Schlüsselprüferzeile - {0}: {1}"
+
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:220
+#, java-format
+msgid "Invalid spellcheck line: {0}"
+msgstr "Ungülte Rechtschreibprüferzeile: {0}"
+
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:227
 #, java-format
 msgid ""
@@ -7062,38 +7090,38 @@
 "{0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:278
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:280
 msgid "Illegal tag/value combinations"
 msgstr "Ungültige Schlüssel/Wert-Kombinationen"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:293
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:295
 msgid "Tags with empty values"
 msgstr "Tags mit leerem Wert"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:294
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:300
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:306
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:312
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:321
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:296
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:302
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:308
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:314
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:323
 #, java-format
 msgid "Key ''{0}'' invalid."
 msgstr "Schlüssel \"{0}\" ungültig."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:299
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:301
 msgid "Invalid property key"
 msgstr "Ungültiger Schlüssel"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:305
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:307
 msgid "Invalid white space in property key"
 msgstr "Ungültiger Leerraum in Schlüssel"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:311
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:313
 msgid "Property values start or end with white space"
 msgstr "Werte beginnen oder enden mit Leerraum"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:320
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:322
 msgid "Unknown property values"
 msgstr "Unbekannter Werte"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:330
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:332
 msgid "FIXMES"
 msgstr "FIXMEs"
@@ -7115,11 +7143,11 @@
 msgstr "Prüft die Gültigkeit von Werten und Schlüsseln anhand von komplexen Regeln."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:470
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:490
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:500
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:469
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:489
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:499
 msgid "TagChecker source"
 msgstr "Schlüsselprüferdatenquellen"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:520
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:519
 msgid ""
 "The sources (url or filename) of spell check (see http://wiki.openstreetmap."
@@ -7129,29 +7157,29 @@
 "openstreetmap.org/index.php/User:JLS/speller) oder Schlüsselprüfung."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:521
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:520
 msgid "Add a new source to the list."
 msgstr "Eine neue Quelle zur Liste hinzufügen."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:522
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:521
 msgid "Edit the selected source."
 msgstr "Ausgewählte Quelle bearbeiten."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:525
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:524
 msgid "Data sources"
 msgstr "Datenquellen"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:545
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:544
 msgid "Check property values."
 msgstr "Werte überprüfen."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:546
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:545
 msgid "Validate that property values are valid checking against presets."
 msgstr "Prüft die Gültigkeit von Werten anhand von Presets."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:553
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:552
 msgid "Check for FIXMES."
 msgstr "Prüfe auf FIXMEs"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:554
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:553
 msgid "Looks for nodes or ways with FIXME in any property value."
 msgstr ""
@@ -7159,81 +7187,99 @@
 "haben."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:561
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:560
 msgid "Use default data file."
 msgstr "Standarddatendatei nutzen."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:562
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:561
 msgid "Use the default data file (recommended)."
 msgstr "Nutzung der Standarddatendatei (empfohlen)."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:565
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:564
 msgid "Use default spellcheck file."
 msgstr "Standarddatei für Schreibprüfung nutzen."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:566
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:565
 msgid "Use the default spellcheck file (recommended)."
 msgstr "Nutzung der Standarddatei für die Schreibfehlerprüfung (empfohlen)."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:648
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:647
 msgid "Fix properties"
 msgstr "Eigenschaften korrigieren"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:29
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:756
+msgid "Could not find element type"
+msgstr "Konnte Elementtyp nicht finden"
+
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:773
+msgid "Could not find warning level"
+msgstr "Konnte Warnlevel nicht finden"
+
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:782
+#, java-format
+msgid "Illegal expression ''{0}''"
+msgstr "Ungültiger Ausdruck \"{0}\""
+
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java:786
+#, java-format
+msgid "Illegal regular expression ''{0}''"
+msgstr "Ungültiger regulärer Ausdruck \"{0}\""
+
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:30
 msgid "Unclosed Ways."
 msgstr "Nicht geschlossene Wege."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:30
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:31
 msgid "This tests if ways which should be circular are closed."
 msgstr "Testen ob zu schließende Wege korrekt geschlossen sind."
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:60
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:61
 #, java-format
 msgid "natural type {0}"
 msgstr "Naturflächentyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:67
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:68
 #, java-format
 msgid "landuse type {0}"
 msgstr "Landnutzungstyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:74
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:75
 #, java-format
 msgid "amenities type {0}"
 msgstr "Einrichtungstyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:81
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:82
 #, java-format
 msgid "sport type {0}"
 msgstr "Sportart {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:88
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:89
 #, java-format
 msgid "tourism type {0}"
 msgstr "Tourismustyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:95
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:96
 #, java-format
 msgid "shop type {0}"
 msgstr "Geschäftstyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:102
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:103
 #, java-format
 msgid "leisure type {0}"
 msgstr "Erholungstyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:109
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:110
 #, java-format
 msgid "waterway type {0}"
 msgstr "Wasserstraßentyp {0}"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:116
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:117
 msgid "building"
 msgstr "Gebäude"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:123
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:124
 msgid "area"
 msgstr "Fläche"
 
-#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:136
+#: ../validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java:137
 msgid "Unclosed way"
 msgstr "Nicht geschlossener Weg"
Index: /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java
===================================================================
--- /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java	(revision 9853)
+++ /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java	(revision 9854)
@@ -42,4 +42,6 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.OsmUtils;
+import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.preferences.TaggingPresetPreference;
@@ -121,5 +123,5 @@
 	protected static int INVALID_SPACE     = 1204;
 	protected static int INVALID_KEY_SPACE = 1205;
-	protected static int TAG_CHECK         = 1206;
+	/** 1250 and up is used by tagcheck */
 
 	/** List of sources for spellcheck data */
@@ -276,6 +278,6 @@
 				if(d.match(p))
 				{
-					errors.add( new TestError(this, Severity.WARNING, tr("Illegal tag/value combinations"),
-					d.getDescription(), TAG_CHECK, p) );
+					errors.add( new TestError(this, d.getSeverity(), tr("Illegal tag/value combinations"),
+					d.getDescription(), d.getCode(), p) );
 					withErrors.add(p, "TC");
 					break;
@@ -662,7 +664,13 @@
 		private List<CheckerElement> data = new ArrayList<CheckerElement>();
 		private Integer type = 0;
+		private Integer code;
+		protected Severity severity;
 		protected static int NODE = 1;
 		protected static int WAY = 2;
-		protected static int ALL = 3;
+		protected static int RELATION = 3;
+		protected static int ALL = 4;
+		protected static int TAG_CHECK_ERROR  = 1250;
+		protected static int TAG_CHECK_WARN   = 1260;
+		protected static int TAG_CHECK_INFO   = 1270;
 
 		private class CheckerElement {
@@ -672,4 +680,5 @@
 			public Boolean tagAll = false;
 			public Boolean valueAll = false;
+			public Boolean valueBool = false;
 			private Pattern getPattern(String str) throws IllegalStateException, PatternSyntaxException
 			{
@@ -694,12 +703,28 @@
 				if(n.equals("*"))
 					valueAll = true;
+				else if(n.equals("BOOLEAN_TRUE"))
+				{
+					valueBool = true;
+					value = OsmUtils.trueval;
+				}
+				else if(n.equals("BOOLEAN_FALSE"))
+				{
+					valueBool = true;
+					value = OsmUtils.falseval;
+				}
 				else
 					value = n.startsWith("/") ? getPattern(n) : n;
 			}
-			public Boolean match(String key, String val)
-			{
-				Boolean tagtrue = tagAll || (tag instanceof Pattern ? ((Pattern)tag).matcher(key).matches() : key.equals(tag));
-				Boolean valtrue = valueAll || (value instanceof Pattern ? ((Pattern)value).matcher(val).matches() : val.equals(value));
-				return tagtrue && (noMatch ? !valtrue : valtrue);
+			public Boolean match(OsmPrimitive osm)
+			{
+				for(Entry<String, String> prop: osm.keys.entrySet())
+				{
+					String key = prop.getKey();
+					String val = valueBool ? OsmUtils.getNamedOsmBoolean(prop.getValue()) : prop.getValue();
+					if((tagAll || (tag instanceof Pattern ? ((Pattern)tag).matcher(key).matches() : key.equals(tag)))
+					&& (valueAll || (value instanceof Pattern ? ((Pattern)value).matcher(val).matches() : val.equals(value))))
+						return !noMatch;
+				}
+				return noMatch;
 			}
 		};
@@ -719,14 +744,33 @@
 				description = null;
 			}
-			String[] n = str.split(" *: *", 2);
+			String[] n = str.split(" *: *", 3);
 			if(n[0].equals("way"))
 				type = WAY;
 			else if(n[0].equals("node"))
 				type = NODE;
+			else if(n[0].equals("relation"))
+				type = RELATION;
 			else if(n[0].equals("*"))
 				type = ALL;
-			if(type == 0 || n.length != 2)
+			if(type == 0 || n.length != 3)
 				return tr("Could not find element type");
-			for(String exp: n[1].split(" *&& *"))
+			if(n[1].equals("W"))
+			{
+				severity = Severity.WARNING;
+				code = TAG_CHECK_WARN;
+			}
+			else if(n[1].equals("E"))
+			{
+				severity = Severity.ERROR;
+				code = TAG_CHECK_ERROR;
+			}
+			else if(n[1].equals("I"))
+			{
+				severity = Severity.OTHER;
+				code = TAG_CHECK_INFO;
+			}
+			else
+				return tr("Could not find warning level");
+			for(String exp: n[2].split(" *&& *"))
 			{
 				try
@@ -747,15 +791,10 @@
 		public Boolean match(OsmPrimitive osm)
 		{
-			if(osm.keys == null)
+			if(osm.keys == null || (type == NODE && !(osm instanceof Node))
+			|| (type == RELATION && !(osm instanceof Relation)) || (type == WAY && !(osm instanceof Way)))
 				return false;
 			for(CheckerElement ce : data)
 			{
-				Boolean result = false;
-				for(Entry<String, String> prop: osm.keys.entrySet())
-				{
-					if(result = ce.match(prop.getKey(), prop.getValue()))
-						break;
-				}
-				if(!result)
+				if(!ce.match(osm))
 					return false;
 			}
@@ -766,4 +805,12 @@
 			return tr(description);
 		}
+		public Severity getSeverity()
+		{
+			return severity;
+		}
+		public int getCode()
+		{
+			return code + type;
+		}
 	}
 }
Index: /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java
===================================================================
--- /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java	(revision 9853)
+++ /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/UnclosedWays.java	(revision 9854)
@@ -7,4 +7,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.data.osm.OsmUtils;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.plugins.validator.Severity;
@@ -110,6 +111,6 @@
 			mode = 1108;
 		}
-		test = w.get("building");
-		if (test != null && ("true".equalsIgnoreCase(test) || "yes".equalsIgnoreCase(test) || "1".equals(test)))
+		Boolean btest = OsmUtils.getOsmBoolean(w.get("building"));
+		if (btest != null && btest)
 		{
 			force = true;
@@ -117,6 +118,6 @@
 			mode = 1120;
 		}
-		test = w.get("area");
-		if (test != null && ("true".equalsIgnoreCase(test) || "yes".equalsIgnoreCase(test) || "1".equals(test)))
+		btest = OsmUtils.getOsmBoolean(w.get("area"));
+		if (btest != null && btest)
 		{
 			force = true;
Index: /applications/editors/josm/plugins/validator/tagchecker.cfg
===================================================================
--- /applications/editors/josm/plugins/validator/tagchecker.cfg	(revision 9853)
+++ /applications/editors/josm/plugins/validator/tagchecker.cfg	(revision 9854)
@@ -3,5 +3,5 @@
 # format:
 # each line specifies a certain error to be reported
-# <data type>: <key><expression><value>
+# <data type> : messagetype : <key><expression><value>
 #
 # data type can be:
@@ -11,9 +11,19 @@
 #  *           - all data types
 #
+# message type can be:
+# E            - an error
+# W            - a warning
+# I            - an low priority informational warning
+#
 # key and value are expressions describing certain keys and values of these keys
 # regulator expressions are supported. In this case the expressions starts and
-# ends with // signs. The * sign indicates any string.
+# ends with // signs. If an i is appended, the regular expression is
+# case insensitive.
 #
-# expression can be:
+# The * sign indicates any string.
+# The texts BOOLEAN_TRUE and BOOLEAN_FALSE in the value part indicate a special
+# handling for boolean values (yes, true, 0, false, no, ...).
+#
+# Expression can be:
 #  !=          - the key/value combination does not match
 #  ==          - the key/value combination does match
@@ -26,8 +36,12 @@
 # Empty lines and space signs are ignored
 
-node : oneway == *                                         # oneway tag on a node
-node : highway == tertiary                                 # wrong highway tag on a node
-node : highway == secondary                                # wrong highway tag on a node
-way  : highway == secondary && ref != *                    # highway without a reference
-way  : highway == tertiary && ref != *                     # highway without a reference
-*    : / *name */i == * && name != *                       # misspelled key
+node : W : oneway == *                                         # oneway tag on a node
+node : W : bridge == BOOLEAN_TRUE                              # bridge tag on a node
+node : W : highway == tertiary                                 # wrong highway tag on a node
+node : W : highway == secondary                                # wrong highway tag on a node
+node : W : highway == residential                              # wrong highway tag on a node
+node : W : highway == unclassified                             # wrong highway tag on a node
+node : W : highway == track                                    # wrong highway tag on a node
+way  : I : highway == secondary && ref != *                    # highway without a reference
+way  : I : highway == tertiary && ref != *                     # highway without a reference
+*    : W : / *name */i == * && name != *                       # misspelled key name
