Index: trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java	(revision 2181)
@@ -68,7 +68,7 @@
     public void export(Layer layer) {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         if (! (layer instanceof OsmDataLayer) && ! (layer instanceof GpxLayer))
-            throw new IllegalArgumentException(tr("expected instance of OsmDataLayer or GpxLayer. Got ''{0}''.", layer.getClass().getName()));
+            throw new IllegalArgumentException(tr("Expected instance of OsmDataLayer or GpxLayer. Got ''{0}''.", layer.getClass().getName()));
 
         File file = createAndOpenSaveFileChooser(tr("Export GPX file"), ".gpx");
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 2181)
@@ -138,7 +138,7 @@
     public static Command mergeNodes(OsmDataLayer layer, Collection<Node> nodes, Node targetNode) throws IllegalArgumentException{
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "nodes"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "nodes"));
         if (targetNode == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "targetNode"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "targetNode"));
 
         if (nodes == null)
@@ -220,7 +220,7 @@
     public static Command mergeNodes(OsmDataLayer layer, BackreferencedDataSet backreferences, Collection<Node> nodes, Node targetNode) {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "nodes"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "nodes"));
         if (targetNode == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "targetNode"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "targetNode"));
         if (nodes == null)
             return null;
Index: trunk/src/org/openstreetmap/josm/actions/UploadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UploadAction.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/actions/UploadAction.java	(revision 2181)
@@ -251,5 +251,5 @@
             default:
                 // should not happen
-                throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
+                throw new IllegalStateException(tr("Unexpected return value. Got {0}.", ret));
         }
     }
@@ -290,5 +290,5 @@
             default:
                 // should not happen
-                throw new IllegalStateException(tr("unexpected return value. Got {0}", ret));
+                throw new IllegalStateException(tr("Unexpected return value. Got {0}.", ret));
         }
     }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 2181)
@@ -291,7 +291,7 @@
     public static void deleteRelation(OsmDataLayer layer, Relation toDelete) {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         if (toDelete == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "toDelete"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "toDelete"));
 
         Command cmd = DeleteCommand.delete(layer, Collections.singleton(toDelete));
Index: trunk/src/org/openstreetmap/josm/command/CoordinateConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/CoordinateConflictResolveCommand.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/command/CoordinateConflictResolveCommand.java	(revision 2181)
@@ -67,5 +67,5 @@
         } else
             // should not happen
-            throw new IllegalStateException(tr("cannot resolve undecided conflict"));
+            throw new IllegalStateException(tr("Cannot resolve undecided conflict."));
 
         // remember the layer this command was applied to
Index: trunk/src/org/openstreetmap/josm/command/DeletedStateConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/DeletedStateConflictResolveCommand.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/command/DeletedStateConflictResolveCommand.java	(revision 2181)
@@ -77,5 +77,5 @@
         } else
             // should not happen
-            throw new IllegalStateException(tr("cannot resolve undecided conflict"));
+            throw new IllegalStateException(tr("Cannot resolve undecided conflict."));
 
         rememberConflict(conflict);
Index: trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/conflict/ConflictCollection.java	(revision 2181)
@@ -76,5 +76,5 @@
     protected void addConflict(Conflict<?> conflict) throws IllegalStateException {
         if (hasConflictForMy(conflict.getMy()))
-            throw new IllegalStateException(tr("already registered a conflict for primitive ''{0}''", conflict.getMy().toString()));
+            throw new IllegalStateException(tr("Already registered a conflict for primitive ''{0}''.", conflict.getMy().toString()));
         if (!conflicts.contains(conflict)) {
             conflicts.add(conflict);
@@ -92,5 +92,5 @@
     public void add(Conflict<?> conflict) throws IllegalStateException, IllegalArgumentException {
         if (conflict == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "conflict"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "conflict"));
         addConflict(conflict);
         fireConflictAdded();
Index: trunk/src/org/openstreetmap/josm/data/osm/BackreferencedDataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/BackreferencedDataSet.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/BackreferencedDataSet.java	(revision 2181)
@@ -103,5 +103,5 @@
     public BackreferencedDataSet(DataSet source) {
         if (source == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null."));
         this.source = source;
         int size = source.ways.size() + source.relations.size();
Index: trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSet.java	(revision 2181)
@@ -391,7 +391,7 @@
     public OsmPrimitive getPrimitiveById(long id, OsmPrimitiveType type) {
         if (id <= 0)
-            throw new IllegalArgumentException(tr("parameter {0} > 0 required. Got {1}.", "id", id));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' > 0 expected. Got ''{1}''.", "id", id));
         if (id <= 0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "type"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
         Collection<? extends OsmPrimitive> primitives = null;
         switch(type) {
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 2181)
@@ -176,5 +176,5 @@
     public OsmPrimitive(long id) throws IllegalArgumentException {
         if (id < 0)
-            throw new IllegalArgumentException(tr("expected id >= 0. Got {0}", id));
+            throw new IllegalArgumentException(tr("Expected ID >= 0. Got {0}.", id));
         this.id = id;
         this.version = 0;
@@ -300,5 +300,5 @@
     public void setVisible(boolean visible) throws IllegalStateException{
         if (id == 0 && visible == false)
-            throw new IllegalStateException(tr("a primitive with id=0 can't be invisible"));
+            throw new IllegalStateException(tr("A primitive with ID = 0 can't be invisible."));
         this.visible = visible;
     }
@@ -336,7 +336,7 @@
     public void setOsmId(long id, int version) {
         if (id <= 0)
-            throw new IllegalArgumentException(tr("id > 0 expected. Got {0}", id));
+            throw new IllegalArgumentException(tr("ID > 0 expected. Got {0}.", id));
         if (version <= 0)
-            throw new IllegalArgumentException(tr("version > 0 expected. Got {0}", version));
+            throw new IllegalArgumentException(tr("Version > 0 expected. Got {0}.", version));
         this.id = id;
         this.version = version;
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitiveType.java	(revision 2181)
@@ -23,5 +23,5 @@
             if (type.getAPIName().equals(typeName)) return type;
         }
-        throw new IllegalArgumentException(tr("parameter ''{0}'' is not a valid type name, got ''{1}''", "typeName", typeName));
+        throw new IllegalArgumentException(tr("Parameter ''{0}'' is not a valid type name. Got ''{1}''.", "typeName", typeName));
     }
 
@@ -34,5 +34,5 @@
         if (cls.equals(Way.class)) return WAY;
         if (cls.equals(Relation.class)) return RELATION;
-        throw new IllegalArgumentException(tr("parameter ''{0}'' is not an acceptable class, got ''{1}''", "cls", cls.toString()));
+        throw new IllegalArgumentException(tr("Parameter ''{0}'' is not an acceptable class. Got ''{1}''.", "cls", cls.toString()));
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/TagCollection.java	(revision 2181)
@@ -570,5 +570,5 @@
         if (primitive == null) return;
         if (! isApplicableToPrimitive())
-            throw new IllegalStateException(tr("tag collection can't be applied to a primitive because there are keys with multiple values"));
+            throw new IllegalStateException(tr("Tag collection can't be applied to a primitive because there are keys with multiple values."));
         for (Tag tag: tags) {
             if (tag.getValue() == null || tag.getValue().equals("")) {
@@ -591,5 +591,5 @@
         if (primitives == null) return;
         if (! isApplicableToPrimitive())
-            throw new IllegalStateException(tr("tag collection can't be applied to a primitive because there are keys with multiple values"));
+            throw new IllegalStateException(tr("Tag collection can't be applied to a primitive because there are keys with multiple values."));
         for (OsmPrimitive primitive: primitives) {
             applyTo(primitive);
@@ -608,5 +608,5 @@
         if (primitive == null) return;
         if (! isApplicableToPrimitive())
-            throw new IllegalStateException(tr("tag collection can't be applied to a primitive because there are keys with multiple values"));
+            throw new IllegalStateException(tr("Tag collection can't be applied to a primitive because there are keys with multiple values."));
         primitive.removeAll();
         for (Tag tag: tags) {
@@ -626,5 +626,5 @@
         if (primitives == null) return;
         if (! isApplicableToPrimitive())
-            throw new IllegalStateException(tr("tag collection can't be applied to a primitive because there are keys with multiple values"));
+            throw new IllegalStateException(tr("Tag collection can't be applied to a primitive because there are keys with multiple values."));
         for (OsmPrimitive primitive: primitives) {
             replaceTagsOf(primitive);
Index: trunk/src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/Way.java	(revision 2181)
@@ -210,5 +210,5 @@
         if (n==null) return;
         if (incomplete)
-            throw new IllegalStateException(tr("can't add node {0} to incomplete way {1}", n.getId(), getId()));
+            throw new IllegalStateException(tr("Cannot add node {0} to incomplete way {1}.", n.getId(), getId()));
         if (incomplete) return;
         clearCached();
@@ -228,5 +228,5 @@
         if (n==null) return;
         if (incomplete)
-            throw new IllegalStateException(tr("can't add node {0} to incomplete way {1}", n.getId(), getId()));
+            throw new IllegalStateException(tr("Cannot add node {0} to incomplete way {1}.", n.getId(), getId()));
         clearCached();
         nodes.add(offs, n);
Index: trunk/src/org/openstreetmap/josm/data/osm/history/History.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/History.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/History.java	(revision 2181)
@@ -152,5 +152,5 @@
                 return primitive;
         }
-        throw new NoSuchElementException(tr("There's no primitive with version {0} in this history", version));
+        throw new NoSuchElementException(tr("There's no primitive with version {0} in this history.", version));
     }
 
@@ -159,7 +159,7 @@
 
         if (versions.isEmpty())
-            throw new NoSuchElementException(tr("There's no version valid at date ''{0}'' in this history", date));
+            throw new NoSuchElementException(tr("There's no version valid at date ''{0}'' in this history.", date));
         if (get(0).getTimestamp().compareTo(date)> 0)
-            throw new NoSuchElementException(tr("There's no version valid at date ''{0}'' in this history", date));
+            throw new NoSuchElementException(tr("There's no version valid at date ''{0}'' in this history.", date));
         for (int i = 1; i < versions.size();i++) {
             if (get(i-1).getTimestamp().compareTo(date) <= 0
@@ -172,5 +172,5 @@
     public HistoryOsmPrimitive get(int idx) {
         if (idx < 0 || idx >= versions.size())
-            throw new IndexOutOfBoundsException(tr("parameter ''{0}'' in range 0..{1} expected, got {2}", "idx", versions.size()-1, idx));
+            throw new IndexOutOfBoundsException(tr("Parameter ''{0}'' in range 0..{1} expected. Got ''{2}''.", "idx", versions.size()-1, idx));
         return versions.get(idx);
     }
@@ -178,5 +178,5 @@
     public HistoryOsmPrimitive getEarliest() {
         if (isEmpty())
-            throw new NoSuchElementException(tr("no earliest version found. History is empty."));
+            throw new NoSuchElementException(tr("No earliest version found. History is empty."));
         return sortAscending().versions.get(0);
     }
@@ -184,5 +184,5 @@
     public HistoryOsmPrimitive getLatest() {
         if (isEmpty())
-            throw new NoSuchElementException(tr("no latest version found. History is empty."));
+            throw new NoSuchElementException(tr("No latest version found. History is empty."));
         return sortDescending().versions.get(0);
     }
Index: trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java	(revision 2181)
@@ -29,10 +29,10 @@
     protected void ensurePositiveLong(long value, String name) {
         if (value <= 0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' > 0 expected, got ''{1}''", name, value));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' > 0 expected. Got ''{1}''.", name, value));
     }
 
     protected void ensureNotNull(Object obj, String name) {
         if (obj == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", name));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", name));
     }
 
@@ -102,5 +102,5 @@
     public int compareTo(HistoryOsmPrimitive o) {
         if (this.id != o.id)
-            throw new ClassCastException(tr("can't compare primitive with id ''{0}'' to primitive with id ''{1}''", o.id, this.id));
+            throw new ClassCastException(tr("Can't compare primitive with ID ''{0}'' to primitive with ID ''{1}''.", o.id, this.id));
         return new Long(this.version).compareTo(o.version);
     }
Index: trunk/src/org/openstreetmap/josm/data/osm/history/HistoryRelation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/HistoryRelation.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/HistoryRelation.java	(revision 2181)
@@ -87,5 +87,5 @@
     public RelationMember getRelationMember(int idx) throws IndexOutOfBoundsException  {
         if (idx < 0 || idx >= members.size())
-            throw new IndexOutOfBoundsException(tr("parameter {0} not in range 0..{1}, got {2}", "idx", members.size(),idx));
+            throw new IndexOutOfBoundsException(tr("Parameter {0} not in range 0..{1}. Got ''{2}''.", "idx", members.size(),idx));
         return members.get(idx);
     }
@@ -108,5 +108,5 @@
     public void addMember(RelationMember member) throws IllegalArgumentException {
         if (member == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "member"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "member"));
         members.add(member);
     }
Index: trunk/src/org/openstreetmap/josm/data/osm/history/HistoryWay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/HistoryWay.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/HistoryWay.java	(revision 2181)
@@ -46,5 +46,5 @@
     public long getNodeId(int idx) throws IndexOutOfBoundsException {
         if (idx < 0 || idx >= nodeIds.size())
-            throw new IndexOutOfBoundsException(tr("parameter {0} not in range 0..{1}, got {2}", "idx", nodeIds.size(),idx));
+            throw new IndexOutOfBoundsException(tr("Parameter {0} not in range 0..{1}. Got ''{2}''.", "idx", nodeIds.size(),idx));
         return nodeIds.get(idx);
     }
Index: trunk/src/org/openstreetmap/josm/data/osm/history/RelationMember.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/history/RelationMember.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/history/RelationMember.java	(revision 2181)
@@ -29,8 +29,8 @@
         this.role = (role == null ? "" : role);
         if (primitiveType == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitiveType"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitiveType"));
         this.primitiveType = primitiveType;
         if (primitiveId <=0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' > 0 expected, got ''{1}''", "primitiveId", primitiveId));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' > 0 expected. Got ''{1}''.", "primitiveId", primitiveId));
         this.primitiveId = primitiveId;
     }
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitor.java	(revision 2181)
@@ -42,5 +42,5 @@
     public MergeSourceBuildingVisitor(DataSet selectionBase) throws IllegalArgumentException {
         if (selectionBase == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "selectionBase"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "selectionBase"));
         this.selectionBase = selectionBase;
         this.hull = new DataSet();
Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 2181)
@@ -284,5 +284,5 @@
         int curLayerPos = layers.indexOf(layer);
         if (curLayerPos == -1)
-            throw new IllegalArgumentException(tr("layer not in list."));
+            throw new IllegalArgumentException(tr("Layer not in list."));
         if (pos == curLayerPos)
             return; // already in place.
@@ -301,5 +301,5 @@
         int curLayerPos = layers.indexOf(layer);
         if (curLayerPos == -1)
-            throw new IllegalArgumentException(tr("layer not in list."));
+            throw new IllegalArgumentException(tr("Layer not in list."));
         return curLayerPos;
     }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ComparePairType.java	(revision 2181)
@@ -80,5 +80,5 @@
     public ListRole getOppositeRole(ListRole role) {
         if (!isParticipatingIn(role))
-            throw new IllegalStateException(tr("role {0} is not participating in compare pair {1}", role.toString(), this.toString()));
+            throw new IllegalStateException(tr("Role {0} is not participating in compare pair {1}.", role.toString(), this.toString()));
         if (participatingRoles[0].equals(role))
             return participatingRoles[1];
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java	(revision 2181)
@@ -323,5 +323,5 @@
         ArrayList<T> mergedEntries = getMergedEntries();
         if (current < 0 || current >= mergedEntries.size())
-            throw new IllegalArgumentException(tr("parameter current out of range: got {0}", current));
+            throw new IllegalArgumentException(tr("Parameter current out of range. Got {0}.", current));
         for (int i=rows.length -1; i>=0; i--) {
             int row = rows[i];
@@ -375,5 +375,5 @@
 
         if (current < 0 || current >= mergedEntries.size())
-            throw new IllegalArgumentException(tr("parameter current out of range: got {0}", current));
+            throw new IllegalArgumentException(tr("Parameter current out of range. Got {0}.", current));
         if (current == mergedEntries.size() -1) {
             copyToEnd(source, rows);
@@ -589,5 +589,5 @@
         public boolean isSamePositionInOppositeList(int row) {
             if (!isParticipatingInCurrentComparePair())
-                throw new IllegalStateException(tr("list in role {0} is currently not participating in a compare pair", role.toString()));
+                throw new IllegalStateException(tr("List in role {0} is currently not participating in a compare pair.", role.toString()));
             if (row >= getEntries().size()) return false;
             if (row >= getOppositeEntries().size()) return false;
@@ -613,5 +613,5 @@
         public boolean isIncludedInOppositeList(int row) {
             if (!isParticipatingInCurrentComparePair())
-                throw new IllegalStateException(tr("list in role {0} is currently not participating in a compare pair", role.toString()));
+                throw new IllegalStateException(tr("List in role {0} is currently not participating in a compare pair.", role.toString()));
 
             if (row >= getEntries().size()) return false;
@@ -762,5 +762,5 @@
             if (index < compareModes.size())
                 return compareModes.get(index);
-            throw new IllegalArgumentException(tr("unexpected value of parameter \"index\". Got {0}", index));
+            throw new IllegalArgumentException(tr("Unexpected value of parameter ''index''. Got {0}.", index));
         }
 
@@ -776,5 +776,5 @@
             int i = compareModes.indexOf(anItem);
             if (i < 0)
-                throw new IllegalStateException(tr("item {0} not found in list", anItem));
+                throw new IllegalStateException(tr("Item {0} not found in list.", anItem));
             selectedIdx = i;
             fireModelDataChanged();
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java	(revision 2181)
@@ -436,5 +436,5 @@
                 putValue(Action.NAME, tr("> bottom"));
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Copy my selected elements to the end of the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Copy my selected elements to the end of the list of merged elements."));
             setEnabled(false);
         }
@@ -463,5 +463,5 @@
                 putValue(Action.NAME, "> before");
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Copy my selected elements before the first selected element in the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Copy my selected elements before the first selected element in the list of merged elements."));
             setEnabled(false);
         }
@@ -497,5 +497,5 @@
                 putValue(Action.NAME, "> after");
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Copy my selected elements after the first selected element in the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Copy my selected elements after the first selected element in the list of merged elements."));
             setEnabled(false);
         }
@@ -527,5 +527,5 @@
                 putValue(Action.NAME, "< top");
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Copy their selected element to the start of the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Copy their selected element to the start of the list of merged elements."));
             setEnabled(false);
         }
@@ -550,5 +550,5 @@
                 putValue(Action.NAME, "< bottom");
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Copy their selected elements to the end of the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Copy their selected elements to the end of the list of merged elements."));
             setEnabled(false);
         }
@@ -572,5 +572,5 @@
                 putValue(Action.NAME, "< before");
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Copy their selected elements before the first selected element in the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Copy their selected elements before the first selected element in the list of merged elements."));
             setEnabled(false);
         }
@@ -632,5 +632,5 @@
                 putValue(Action.NAME, tr("Up"));
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Move up the selected elements by one position"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Move up the selected elements by one position."));
             setEnabled(false);
         }
@@ -664,5 +664,5 @@
                 putValue(Action.NAME, tr("Down"));
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Move down the selected entries by one position"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Move down the selected entries by one position."));
             setEnabled(false);
         }
@@ -696,5 +696,5 @@
                 putValue(Action.NAME, tr("Remove"));
             }
-            putValue(Action.SHORT_DESCRIPTION, tr("Remove the selected entries from the list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Remove the selected entries from the list of merged elements."));
             setEnabled(false);
         }
@@ -726,5 +726,5 @@
         public FreezeAction() {
             putValue(Action.NAME, tr("Freeze"));
-            putValue(Action.SHORT_DESCRIPTION, tr("Freeze the current list of merged elements"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Freeze the current list of merged elements."));
             putValue(PROP_SELECTED, false);
             setEnabled(true);
@@ -759,9 +759,9 @@
             if (state == ItemEvent.SELECTED) {
                 putValue(Action.NAME, tr("Unfreeze"));
-                putValue(Action.SHORT_DESCRIPTION, tr("Unfreeze the list of merged elements and start merging"));
+                putValue(Action.SHORT_DESCRIPTION, tr("Unfreeze the list of merged elements and start merging."));
                 model.setFrozen(true);
             } else if (state == ItemEvent.DESELECTED) {
                 putValue(Action.NAME, tr("Freeze"));
-                putValue(Action.SHORT_DESCRIPTION, tr("Freeze the current list of merged elements"));
+                putValue(Action.SHORT_DESCRIPTION, tr("Freeze the current list of merged elements."));
                 model.setFrozen(false);
             }
@@ -786,10 +786,10 @@
         if (newValue) {
             lblFrozenState.setText(
-                    tr("<html>Click <strong>{0}</strong> to start merging my and their entries</html>",
+                    tr("<html>Click <strong>{0}</strong> to start merging my and their entries.</html>",
                             freezeAction.getValue(Action.NAME))
             );
         } else {
             lblFrozenState.setText(
-                    tr("<html>Click <strong>{0}</strong> to finish merging my and their entries</html>",
+                    tr("<html>Click <strong>{0}</strong> to finish merging my and their entries.</html>",
                             freezeAction.getValue(Action.NAME))
             );
@@ -879,8 +879,8 @@
         protected void setParticipatingInSynchronizedScrolling(Adjustable adjustable, boolean isParticipating) {
             if (adjustable == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "adjustable"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "adjustable"));
 
             if (! synchronizedAdjustables.contains(adjustable))
-                throw new IllegalStateException(tr("adjustable {0} not registered yet. Can't set participation in synchronized adjustment",adjustable));
+                throw new IllegalStateException(tr("Adjustable {0} not registered yet. Can't set participation in synchronized adjustment.", adjustable));
 
             enabledMap.put(adjustable, isParticipating);
@@ -897,5 +897,5 @@
         protected boolean isParticipatingInSynchronizedScrolling(Adjustable adjustable) throws IllegalStateException {
             if (! synchronizedAdjustables.contains(adjustable))
-                throw new IllegalStateException(tr("adjustable {0} not registered yet",adjustable));
+                throw new IllegalStateException(tr("Adjustable {0} not registered yet.", adjustable));
 
             return enabledMap.get(adjustable);
@@ -920,7 +920,7 @@
         protected void adapt(final JCheckBox view, final Adjustable adjustable) throws IllegalArgumentException, IllegalStateException {
             if (adjustable == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "adjustable"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "adjustable"));
             if (view == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "view"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "view"));
 
             if (! synchronizedAdjustables.contains(adjustable)) {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java	(revision 2181)
@@ -31,7 +31,7 @@
     public void populate(Way my, Way their) {
         if (my == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "my"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "my"));
         if (their == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "their"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "their"));
         getMergedEntries().clear();
         getMyEntries().clear();
@@ -65,9 +65,9 @@
     public WayNodesConflictResolverCommand buildResolveCommand(Way my, Way their) {
         if (my == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "my"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "my"));
         if (their == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "their"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "their"));
         if (! isFrozen())
-            throw new IllegalArgumentException(tr("Merged nodes not frozen yet. Can't build resolution command"));
+            throw new IllegalArgumentException(tr("Merged nodes not frozen yet. Can't build resolution command."));
         return new WayNodesConflictResolverCommand(my, their, getMergedEntries());
     }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java	(revision 2181)
@@ -180,5 +180,5 @@
             default:
                 // should not happen
-                throw new RuntimeException(tr("unexpected column index. Got {0}", column));
+                throw new RuntimeException(tr("Unexpected column index. Got {0}.", column));
         }
         return this;
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java	(revision 2181)
@@ -295,5 +295,5 @@
     public void decideDeletedStateConflict(MergeDecisionType decision) throws IllegalArgumentException{
         if (decision == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "decision"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "decision"));
         this.deletedMergeDecision = decision;
         setChanged();
@@ -310,5 +310,5 @@
     public void decideVisibleStateConflict(MergeDecisionType decision) throws IllegalArgumentException {
         if (decision == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "decision"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "decision"));
         this.visibleMergeDecision = decision;
         setChanged();
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java	(revision 2181)
@@ -71,7 +71,7 @@
     public void populate(Relation my, Relation their) {
         if (my == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "my"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "my"));
         if (their == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "their"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "their"));
 
         getMergedEntries().clear();
@@ -114,9 +114,9 @@
     public RelationMemberConflictResolverCommand buildResolveCommand(Relation my, Relation their) {
         if (my == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "my"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "my"));
         if (their == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "their"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "their"));
         if (! isFrozen())
-            throw new IllegalArgumentException(tr("merged nodes not frozen yet. Can't build resolution command"));
+            throw new IllegalArgumentException(tr("Merged nodes not frozen yet. Can't build resolution command"));
         return new RelationMemberConflictResolverCommand(my, their, getMergedEntries());
     }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeItem.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeItem.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeItem.java	(revision 2181)
@@ -31,5 +31,5 @@
     public TagMergeItem(String key, String myTagValue, String theirTagValue) {
         if (key == null) {
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "key"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "key"));
         }
         this.key  = key;
@@ -50,7 +50,7 @@
      */
     public TagMergeItem(String key, OsmPrimitive my, OsmPrimitive their) {
-        if (key == null) throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "key"));
-        if (my == null) throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "my"));
-        if (their == null) throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "their"));
+        if (key == null) throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "key"));
+        if (my == null) throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "my"));
+        if (their == null) throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "their"));
         this.key = key;
         myTagValue = my.get(key);
@@ -66,5 +66,5 @@
      */
     public void decide(MergeDecisionType decision) throws IllegalArgumentException {
-        if (decision == null) throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "decision"));
+        if (decision == null) throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "decision"));
         this.mergeDecision = decision;
     }
@@ -96,7 +96,7 @@
      */
     public void applyToMyPrimitive(OsmPrimitive primitive) throws IllegalArgumentException, IllegalStateException {
-        if (primitive == null) throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitive"));
+        if (primitive == null) throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
         if (mergeDecision == MergeDecisionType.UNDECIDED) {
-            throw new IllegalStateException(tr("cannot apply undecided tag merge item"));
+            throw new IllegalStateException(tr("Cannot apply undecided tag merge item."));
         } else if (mergeDecision == MergeDecisionType.KEEP_THEIR) {
             if (theirTagValue == null) {
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java	(revision 2181)
@@ -37,5 +37,5 @@
         default:
             // should not happen, but just in case 
-            throw new IllegalArgumentException(tr("Parameter 'col' must be 0 or 1. Got {0}", col));
+            throw new IllegalArgumentException(tr("Parameter 'col' must be 0 or 1. Got {0}.", col));
         }
         return this;
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueResolutionDecision.java	(revision 2181)
@@ -49,9 +49,9 @@
     public MultiValueResolutionDecision(TagCollection tags) throws IllegalArgumentException {
         if (tags == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "tags"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "tags"));
         if (tags.isEmpty())
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be empty", "tags"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be empty.", "tags"));
         if (tags.getKeys().size() != 1)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' with tags for exactly one key expected. Got {1}", "tags", tags.getKeys().size()));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' with tags for exactly one key expected. Got {1}.", "tags", tags.getKeys().size()));
         this.tags = tags;
         autoDecide();
@@ -97,7 +97,7 @@
     public void keepOne(String value) throws IllegalArgumentException, IllegalStateException {
         if (value == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "value"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "value"));
         if (!tags.getValues().contains(value))
-            throw new IllegalStateException(tr("tag collection doesn't include the selected value ''{0}''", value));
+            throw new IllegalStateException(tr("Tag collection doesn't include the selected value ''{0}''.", value));
         this.value = value;
         this.type = MultiValueDecisionType.KEEP_ONE;
@@ -134,5 +134,5 @@
     public String getChosenValue() throws IllegalStateException {
         switch(type) {
-            case UNDECIDED: throw new IllegalStateException(tr("Not decided yet"));
+            case UNDECIDED: throw new IllegalStateException(tr("Not decided yet."));
             case KEEP_ONE: return value;
             case KEEP_NONE: return null;
@@ -211,5 +211,5 @@
         if (primitive == null) return;
         if (!isDecided())
-            throw new IllegalStateException(tr("Not decided yet"));
+            throw new IllegalStateException(tr("Not decided yet."));
         String key = tags.getKeys().iterator().next();
         String value = getChosenValue();
@@ -247,7 +247,7 @@
     public Command buildChangeCommand(OsmPrimitive primitive) throws IllegalArgumentException, IllegalStateException {
         if (primitive == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitive"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
         if (!isDecided())
-            throw new IllegalStateException(tr("Not decided yet"));
+            throw new IllegalStateException(tr("Not decided yet."));
         String key = tags.getKeys().iterator().next();
         String value = getChosenValue();
@@ -266,7 +266,7 @@
     public Command buildChangeCommand(Collection<? extends OsmPrimitive> primitives) {
         if (primitives == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitives"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitives"));
         if (!isDecided())
-            throw new IllegalStateException(tr("Not decided yet"));
+            throw new IllegalStateException(tr("Not decided yet."));
         String key = tags.getKeys().iterator().next();
         String value = getChosenValue();
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java	(revision 2181)
@@ -19,8 +19,8 @@
     public RelationMemberConflictDecision(Relation relation, int pos) throws IllegalArgumentException {
         if (relation == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "relation"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "relation"));
         RelationMember member = relation.getMember(pos);
         if (member == null)
-            throw new IndexOutOfBoundsException(tr("pos {0} is out of range. current number of members: {1}", pos, relation.getMembersCount()));
+            throw new IndexOutOfBoundsException(tr("Position {0} is out of range. Current number of members is {1}.", pos, relation.getMembersCount()));
         this.relation = relation;
         this.pos  = pos;
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 2181)
@@ -84,5 +84,5 @@
     public void populate(TagCollection tags) {
         if (tags == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "tags"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "tags"));
         this.tags = tags;
         keys = new ArrayList<String>();
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java	(revision 2181)
@@ -177,5 +177,5 @@
     protected void showHistory(History h) throws IllegalArgumentException {
         if (h == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "h"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "h"));
         if (HistoryBrowserDialogManager.getInstance().existsDialog(h.getId())) {
             HistoryBrowserDialogManager.getInstance().show(h.getId());
@@ -237,5 +237,5 @@
         public History get(int idx) throws IndexOutOfBoundsException {
             if (idx < 0 || idx >= data.size())
-                throw new IndexOutOfBoundsException(tr("index out of bounds Got {0}", idx));
+                throw new IndexOutOfBoundsException(tr("Index out of bounds. Got {0}.", idx));
             return data.get(idx);
         }
@@ -340,5 +340,5 @@
             //putValue(Action.SMALL_ICON, ImageProvider.get("dialogs","refresh"));
             putValue(Action.NAME, tr("Show"));
-            putValue(Action.SHORT_DESCRIPTION, tr("Display the history of the selected primitive"));
+            putValue(Action.SHORT_DESCRIPTION, tr("Display the history of the selected primitive."));
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 2181)
@@ -279,5 +279,5 @@
             this();
             if (layer == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
             this.layer = layer;
             putValue(NAME, tr("Delete"));
@@ -360,5 +360,5 @@
             this();
             if (layer == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
             this.layer = layer;
             putValue(NAME, tr("Show/Hide"));
@@ -407,5 +407,5 @@
             this();
             if (layer == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
             this.layer = layer;
             putValue(NAME, tr("Activate"));
@@ -462,5 +462,5 @@
             this();
             if (layer == null)
-                throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+                throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
             this.layer = layer;
             putValue(NAME, tr("Merge"));
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 2181)
@@ -119,5 +119,5 @@
     public ChildRelationBrowser(OsmDataLayer layer) throws IllegalArgumentException {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         this.layer = layer;
         model = new RelationTreeModel();
@@ -176,5 +176,5 @@
     class EditAction extends AbstractAction implements TreeSelectionListener {
         public EditAction() {
-            putValue(SHORT_DESCRIPTION, tr("Edit the relation the currently selected relation member refers to"));
+            putValue(SHORT_DESCRIPTION, tr("Edit the relation the currently selected relation member refers to."));
             putValue(SMALL_ICON, ImageProvider.get("dialogs", "edit"));
             putValue(NAME, tr("Edit"));
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ParentRelationLoadingTask.java	(revision 2181)
@@ -76,9 +76,9 @@
         super(tr("Download referring relations"), monitor, false /* don't ignore exception */);
         if (child == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "child"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "child"));
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         if (child.getId() == 0)
-            throw new IllegalArgumentException(tr("child.getId() >0 expected. Got {1}", child.getId()));
+            throw new IllegalArgumentException(tr("Value of child.getId() > 0 expected. Got {1}.", child.getId()));
         referrers = null;
         this.layer = layer;
@@ -197,5 +197,5 @@
         } catch(Exception e) {
             if (cancelled) {
-                System.out.println(tr("Warning: ignoring exception because task is cancelled. Exception: {0}", e.toString()));
+                System.out.println(tr("Warning: Ignoring exception because task is cancelled. Exception: {0}", e.toString()));
                 return;
             }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java	(revision 2181)
@@ -106,5 +106,5 @@
         );
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         this.layer = layer;
         setRelation(relation);
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java	(revision 2181)
@@ -31,5 +31,5 @@
     public SelectionTableModel(OsmDataLayer layer) throws IllegalArgumentException {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         this.layer = layer;
         cache = new ArrayList<OsmPrimitive>();
Index: trunk/src/org/openstreetmap/josm/gui/history/AdjustmentSynchronizer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/AdjustmentSynchronizer.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/history/AdjustmentSynchronizer.java	(revision 2181)
@@ -76,8 +76,8 @@
     protected void setParticipatingInSynchronizedScrolling(Adjustable adjustable, boolean isParticipating) {
         if (adjustable == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "adjustable"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "adjustable"));
 
         if (! synchronizedAdjustables.contains(adjustable))
-            throw new IllegalStateException(tr("adjustable {0} not registered yet. Can't set participation in synchronized adjustment",adjustable));
+            throw new IllegalStateException(tr("Adjustable {0} not registered yet. Can't set participation in synchronized adjustment.", adjustable));
 
         enabledMap.put(adjustable, isParticipating);
@@ -94,5 +94,5 @@
     protected boolean isParticipatingInSynchronizedScrolling(Adjustable adjustable) throws IllegalStateException {
         if (! synchronizedAdjustables.contains(adjustable))
-            throw new IllegalStateException(tr("adjustable {0} not registered yet",adjustable));
+            throw new IllegalStateException(tr("Adjustable {0} not registered yet.", adjustable));
 
         return enabledMap.get(adjustable);
@@ -117,7 +117,7 @@
     protected void adapt(final JCheckBox view, final Adjustable adjustable) throws IllegalArgumentException, IllegalStateException {
         if (adjustable == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "adjustable"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "adjustable"));
         if (view == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "view"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "view"));
 
         if (! synchronizedAdjustables.contains(adjustable)) {
Index: trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 2181)
@@ -140,5 +140,5 @@
     public TagTableModel getTagTableModel(PointInTimeType pointInTimeType) throws IllegalArgumentException {
         if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "pointInTimeType"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
         if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return currentTagTableModel;
@@ -152,5 +152,5 @@
     public NodeListTableModel getNodeListTableModel(PointInTimeType pointInTimeType) throws IllegalArgumentException {
         if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "pointInTimeType"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
         if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return currentNodeListTableModel;
@@ -164,5 +164,5 @@
     public RelationMemberTableModel getRelationMemberTableModel(PointInTimeType pointInTimeType) throws IllegalArgumentException {
         if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "pointInTimeType"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
         if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return currentRelationMemberTableModel;
@@ -176,12 +176,12 @@
     public void setReferencePointInTime(HistoryOsmPrimitive reference) throws IllegalArgumentException, IllegalStateException{
         if (reference == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "reference"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "reference"));
         if (history == null)
-            throw new IllegalStateException(tr("history not initialized yet. Failed to set reference primitive."));
+            throw new IllegalStateException(tr("History not initialized yet. Failed to set reference primitive."));
         if (reference.getId() != history.getId())
-            throw new IllegalArgumentException(tr("failed to set reference. reference id {0} doesn't match history id {1}", reference.getId(),  history.getId()));
+            throw new IllegalArgumentException(tr("Failed to set reference. Reference ID {0} does not match history ID {1}.", reference.getId(),  history.getId()));
         HistoryOsmPrimitive primitive = history.getByVersion(reference.getVersion());
         if (primitive == null)
-            throw new IllegalArgumentException(tr("failed to set reference. reference version {0} not available in history", reference.getVersion()));
+            throw new IllegalArgumentException(tr("Failed to set reference. Reference version {0} not available in history.", reference.getVersion()));
 
         this.reference = reference;
@@ -195,12 +195,12 @@
     public void setCurrentPointInTime(HistoryOsmPrimitive current) throws IllegalArgumentException, IllegalStateException{
         if (current == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "current"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "current"));
         if (history == null)
-            throw new IllegalStateException(tr("history not initialized yet. Failed to set current primitive."));
+            throw new IllegalStateException(tr("History not initialized yet. Failed to set current primitive."));
         if (current.getId() != history.getId())
-            throw new IllegalArgumentException(tr("failed to set reference. reference id {0} doesn't match history id {1}", current.getId(),  history.getId()));
+            throw new IllegalArgumentException(tr("Hailed to set reference. Reference ID {0} does not match history ID {1}.", current.getId(),  history.getId()));
         HistoryOsmPrimitive primitive = history.getByVersion(current.getVersion());
         if (primitive == null)
-            throw new IllegalArgumentException(tr("failed to set current. current version {0} not available in history", current.getVersion()));
+            throw new IllegalArgumentException(tr("Failed to set current primitive. Current version {0} not available in history.", current.getVersion()));
         this.current = current;
         initTagTableModels();
@@ -238,5 +238,5 @@
     public HistoryOsmPrimitive getPointInTime(PointInTimeType type) throws IllegalArgumentException  {
         if (type == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "type"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
         if (type.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return current;
Index: trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java	(revision 2181)
@@ -38,7 +38,7 @@
     public HistoryLoadTask add(long id, OsmPrimitiveType type) {
         if (id <= 0)
-            throw new IllegalArgumentException(tr("id > 0 expected, got {0}", id));
+            throw new IllegalArgumentException(tr("ID > 0 expected. Got {0}.", id));
         if (type == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "type"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
         if (!toLoad.containsKey(id)) {
             toLoad.put(id, type);
@@ -49,5 +49,5 @@
     public HistoryLoadTask add(HistoryOsmPrimitive primitive) {
         if (primitive == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitive"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
         if (!toLoad.containsKey(primitive.getId())) {
             toLoad.put(primitive.getId(), primitive.getType());
@@ -58,5 +58,5 @@
     public HistoryLoadTask add(History history) {
         if (history == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "history"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "history"));
         if (!toLoad.containsKey(history.getId())) {
             toLoad.put(history.getId(), history.getEarliest().getType());
@@ -67,5 +67,5 @@
     public HistoryLoadTask add(OsmPrimitive primitive) {
         if (primitive == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitive"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
         return add(primitive.getId(), OsmPrimitiveType.from(primitive));
     }
@@ -73,5 +73,5 @@
     public HistoryLoadTask add(Collection<? extends OsmPrimitive> primitives) {
         if (primitives == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitives"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitives"));
         for (OsmPrimitive primitive: primitives) {
             if (primitive == null) {
Index: trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java	(revision 2181)
@@ -74,7 +74,7 @@
     public VersionInfoPanel(HistoryBrowserModel model, PointInTimeType pointInTimeType) throws IllegalArgumentException {
         if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "pointInTimeType"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
         if (model == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "model"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "model"));
 
         this.model = model;
Index: trunk/src/org/openstreetmap/josm/gui/io/SaveLayerInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/SaveLayerInfo.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/io/SaveLayerInfo.java	(revision 2181)
@@ -29,5 +29,5 @@
     public SaveLayerInfo(OsmDataLayer layer) {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         this.layer = layer;
         this.doSaveToFile = layer.requiresSaveToFile();
Index: trunk/src/org/openstreetmap/josm/gui/io/SaveLayerTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/SaveLayerTask.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/io/SaveLayerTask.java	(revision 2181)
@@ -36,5 +36,5 @@
     protected SaveLayerTask(SaveLayerInfo layerInfo, ProgressMonitor monitor) {
         if (layerInfo == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layerInfo"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layerInfo"));
         if (monitor == null) {
             monitor = NullProgressMonitor.INSTANCE;
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 2181)
@@ -997,5 +997,5 @@
         public void addOrUpdate(Changeset cs) {
             if (cs.getId() <= 0 )
-                throw new IllegalArgumentException(tr("changeset id > 0 expected. Got {1}", "id", cs.getId()));
+                throw new IllegalArgumentException(tr("Changeset ID > 0 expected. Got {0}.", cs.getId()));
             internalAddOrUpdate(cs);
             fireContentsChanged(this, 0, getSize());
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadLayerTask.java	(revision 2181)
@@ -49,5 +49,5 @@
     public UploadLayerTask(OsmDataLayer layer, ProgressMonitor monitor, Changeset changeset, boolean closeChangesetAfterUpload) {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", layer));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", layer));
         if (monitor == null) {
             monitor = NullProgressMonitor.INSTANCE;
Index: trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java	(revision 2181)
@@ -25,5 +25,5 @@
         super(new CancelHandler());
         if (delegate == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "delegate"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "delegate"));
         this.delegate = delegate;
     }
Index: trunk/src/org/openstreetmap/josm/io/BoundingBoxDownloader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/BoundingBoxDownloader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/BoundingBoxDownloader.java	(revision 2181)
@@ -72,5 +72,5 @@
             if (cancel)
                 return null;
-            throw new SAXException("Illegal characters within the HTTP-header response", e);
+            throw new SAXException("Illegal characters within the HTTP-header response.", e);
         } catch (IOException e) {
             if (cancel)
Index: trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java	(revision 2181)
@@ -23,5 +23,5 @@
     public ChangesetQuery forUser(long uid) {
         if (uid <= 0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' > 0 expected. Got {1}", "uid", uid));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' > 0 expected. Got ''{1}''.", "uid", uid));
         this.user = uid;
         return this;
Index: trunk/src/org/openstreetmap/josm/io/FileExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/FileExporter.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/FileExporter.java	(revision 2181)
@@ -22,5 +22,5 @@
 
     public void exportData(File file, Layer layer) throws IOException {
-        throw new IOException(tr("Could not export \"{0}\"", file.getName()));
+        throw new IOException(tr("Could not export ''{0}''.", file.getName()));
     }
 }
Index: trunk/src/org/openstreetmap/josm/io/FileImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/FileImporter.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/FileImporter.java	(revision 2181)
@@ -22,5 +22,5 @@
 
     public void importData(File file) throws IOException, IllegalDataException {
-        throw new IOException(tr("Could not read \"{0}\"", file.getName()));
+        throw new IOException(tr("Could not read ''{0}''.", file.getName()));
     }
 
Index: trunk/src/org/openstreetmap/josm/io/GpxExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GpxExporter.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/GpxExporter.java	(revision 2181)
@@ -53,10 +53,10 @@
     public void exportData(File file, Layer layer) throws IOException {
         if (layer == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "layer"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "layer"));
         if (!(layer instanceof OsmDataLayer) && !(layer instanceof GpxLayer))
-            throw new IllegalArgumentException(tr("expected instance of OsmDataLayer or GpxLayer. Got ''{0}''.", layer
+            throw new IllegalArgumentException(tr("Expected instance of OsmDataLayer or GpxLayer. Got ''{0}''.", layer
                     .getClass().getName()));
         if (file == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "file"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "file"));
 
         String fn = file.getPath();
@@ -69,5 +69,5 @@
         JPanel p = new JPanel(new GridBagLayout());
 
-        p.add(new JLabel(tr("gps track description")), GBC.eol());
+        p.add(new JLabel(tr("GPS track description")), GBC.eol());
         JTextArea desc = new JTextArea(3, 40);
         desc.setWrapStyleWord(true);
Index: trunk/src/org/openstreetmap/josm/io/GpxReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GpxReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/GpxReader.java	(revision 2181)
@@ -308,5 +308,5 @@
         @Override public void endDocument() throws SAXException  {
             if (!states.empty()) {
-                throw new SAXException(tr("Parse error: invalid document structure for gpx document"));
+                throw new SAXException(tr("Parse error: invalid document structure for GPX document."));
             }
             data = currentData;
Index: trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 2181)
@@ -112,9 +112,9 @@
     protected void remember(DataSet ds, long id, OsmPrimitiveType type) throws IllegalArgumentException, NoSuchElementException{
         if (ds == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "ds"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "ds"));
         if (id <= 0) return;
         OsmPrimitive primitive = ds.getPrimitiveById(id, type);
         if (primitive == null)
-            throw new NoSuchElementException(tr("no primitive with id {0} in local dataset. Can't infer primitive type", id));
+            throw new NoSuchElementException(tr("No primitive with id {0} in local dataset. Can't infer primitive type.", id));
         remember(id, OsmPrimitiveType.from(primitive));
         return;
@@ -414,5 +414,5 @@
             } catch(OsmApiException e) {
                 if (e.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) {
-                    logger.warning(tr("Server replied with response code 404, retrying with an individual request for each primitive"));
+                    logger.warning(tr("Server replied with response code 404, retrying with an individual request for each primitive."));
                     singleGetIdPackage(type, pkg, progressMonitor);
                 } else
Index: trunk/src/org/openstreetmap/josm/io/OsmApi.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 2181)
@@ -80,5 +80,5 @@
         String serverUrl = Main.pref.get("osm-server.url", "http://api.openstreetmap.org/api");
         if (serverUrl == null)
-            throw new IllegalStateException(tr("preference ''{0}'' missing. Can't initialize OsmApi", "osm-server.url"));
+            throw new IllegalStateException(tr("Preference ''{0}'' missing. Can't initialize OsmApi.", "osm-server.url"));
         return getOsmApi(serverUrl);
     }
@@ -132,5 +132,5 @@
     protected OsmApi(String serverUrl)  {
         if (serverUrl == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "serverUrl"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "serverUrl"));
         this.serverUrl = serverUrl;
     }
@@ -176,5 +176,5 @@
                 initialized = false;
             }
-            System.out.println(tr("Communications with {0} established using protocol version {1}",
+            System.out.println(tr("Communications with {0} established using protocol version {1}.",
                     serverUrl,
                     version));
@@ -251,5 +251,5 @@
             osm.setOsmId(Long.parseLong(ret.trim()), 1);
         } catch(NumberFormatException e){
-            throw new OsmTransferException(tr("unexpected format of id replied by the server, got ''{0}''", ret));
+            throw new OsmTransferException(tr("Unexpected format of ID replied by the server. Got ''{0}''.", ret));
         }
     }
@@ -277,5 +277,5 @@
             }
         } catch(NumberFormatException e) {
-            throw new OsmTransferException(tr("unexpected format of new version of modified primitive ''{0}'', got ''{1}''", osm.getId(), ret));
+            throw new OsmTransferException(tr("Unexpected format of new version of modified primitive ''{0}''. Got ''{1}''.", osm.getId(), ret));
         }
     }
@@ -311,5 +311,5 @@
     public void openChangeset(Changeset changeset, ProgressMonitor progressMonitor) throws OsmTransferException {
         if (changeset == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "changeset"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "changeset"));
         try {
             progressMonitor.beginTask((tr("Creating changeset...")));
@@ -321,5 +321,5 @@
                 changeset.setOpen(true);
             } catch(NumberFormatException e){
-                throw new OsmTransferException(tr("unexpected format of id replied by the server, got ''{0}''", ret));
+                throw new OsmTransferException(tr("Unexpected format of ID replied by the server. Got ''{0}''.", ret));
             }
             progressMonitor.setCustomText((tr("Successfully opened changeset {0}",changeset.getId())));
@@ -343,10 +343,10 @@
     public void updateChangeset(Changeset changeset, ProgressMonitor monitor) throws OsmTransferException {
         if (changeset == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "changeset"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "changeset"));
         if (monitor == null) {
             monitor = NullProgressMonitor.INSTANCE;
         }
         if (changeset.getId() <= 0)
-            throw new IllegalArgumentException(tr("id of changeset > 0 required. Got {0}", changeset.getId()));
+            throw new IllegalArgumentException(tr("Changeset ID > 0 expected. Got {0}.", changeset.getId()));
         try {
             monitor.beginTask(tr("Updating changeset..."));
@@ -378,10 +378,10 @@
     public void closeChangeset(Changeset changeset, ProgressMonitor monitor) throws OsmTransferException {
         if (changeset == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "changeset"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "changeset"));
         if (monitor == null) {
             monitor = NullProgressMonitor.INSTANCE;
         }
         if (changeset.getId() <= 0)
-            throw new IllegalArgumentException(tr("id of changeset > 0 required. Got {0}", changeset.getId()));
+            throw new IllegalArgumentException(tr("Changeset ID > 0 expected. Got {0}.", changeset.getId()));
         try {
             monitor.beginTask(tr("Closing changeset..."));
@@ -405,5 +405,5 @@
             progressMonitor.beginTask("", list.size() * 2);
             if (changeset == null)
-                throw new OsmTransferException(tr("No changeset present for diff upload"));
+                throw new OsmTransferException(tr("No changeset present for diff upload."));
 
             initialize(progressMonitor);
@@ -596,5 +596,5 @@
             throw new OsmTransferException(tr("Current changeset is null. Can't upload data."));
         if (changeset.getId() <= 0)
-            throw new OsmTransferException(tr("id of current changeset > 0 required. Current id is {0}", changeset.getId()));
+            throw new OsmTransferException(tr("ID of current changeset > 0 required. Current ID is {0}.", changeset.getId()));
     }
     /**
@@ -622,7 +622,7 @@
         }
         if (changeset.getId() <= 0)
-            throw new IllegalArgumentException(tr("Changeset id > 0 expected. Got {0}", changeset.getId()));
+            throw new IllegalArgumentException(tr("Changeset ID > 0 expected. Got {0}.", changeset.getId()));
         if (!changeset.isOpen())
-            throw new IllegalArgumentException(tr("Open changeset expected. Got closed changeset with id {0}", changeset.getId()));
+            throw new IllegalArgumentException(tr("Open changeset expected. Got closed changeset with id {0}.", changeset.getId()));
         this.changeset = changeset;
     }
Index: trunk/src/org/openstreetmap/josm/io/OsmApiException.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmApiException.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmApiException.java	(revision 2181)
@@ -91,5 +91,5 @@
             sb.append(tr("(Code={0})", responseCode));
         } else {
-            sb.append(tr("The server replied an error with code {0}", responseCode));
+            sb.append(tr("The server replied an error with code {0}.", responseCode));
         }
         return sb.toString();
Index: trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 2181)
@@ -70,5 +70,5 @@
             String value = atts.getValue("id");
             if (value == null) {
-                throwException(tr("missing mandatory attribute ''{0}''", "id"));
+                throwException(tr("Missing mandatory attribute ''{0}''.", "id"));
             }
             long id = 0;
@@ -76,8 +76,8 @@
                 id = Long.parseLong(value);
             } catch(NumberFormatException e) {
-                throwException(tr("illegal value for attribute ''{0}''. Got ''{1}''", "id", value));
+                throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "id", value));
             }
             if (id <= 0) {
-                throwException(tr("illegal nummeric value for attribute ''{0}''. Got ''{1}''", "id", id));
+                throwException(tr("Illegal nummeric value for attribute ''{0}''. Got ''{1}''.", "id", id));
             }
             current.setId(id);
@@ -107,5 +107,5 @@
             value = atts.getValue("open");
             if (value == null) {
-                throwException(tr("missing mandatory attribute ''{0}''", "open"));
+                throwException(tr("Missing mandatory attribute ''{0}''.", "open"));
             } else if (value.equals("true")) {
                 current.setOpen(true);
@@ -113,5 +113,5 @@
                 current.setOpen(false);
             } else {
-                throwException(tr("illegal boolean value for attribute ''{0}''. Got ''{1}''", "open", value));
+                throwException(tr("Illegal boolean value for attribute ''{0}''. Got ''{1}''.", "open", value));
             }
 
@@ -126,5 +126,5 @@
                     minLon = Double.parseDouble(min_lon);
                 } catch(NumberFormatException e) {
-                    throwException(tr("illegal value for attribute ''{0}''. Got ''{1}''", "min_lon", min_lon));
+                    throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "min_lon", min_lon));
                 }
                 double minLat = 0;
@@ -132,5 +132,5 @@
                     minLat = Double.parseDouble(min_lat);
                 } catch(NumberFormatException e) {
-                    throwException(tr("illegal value for attribute ''{0}''. Got ''{1}''", "min_lat", min_lat));
+                    throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "min_lat", min_lat));
                 }
                 current.setMin(new LatLon(minLat, minLon));
@@ -142,5 +142,5 @@
                     maxLon = Double.parseDouble(max_lon);
                 } catch(NumberFormatException e) {
-                    throwException(tr("illegal value for attribute ''{0}''. Got ''{1}''", "max_lon", max_lon));
+                    throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "max_lon", max_lon));
                 }
                 double maxLat = 0;
@@ -148,5 +148,5 @@
                     maxLat = Double.parseDouble(max_lat);
                 } catch(NumberFormatException e) {
-                    throwException(tr("illegal value for attribute ''{0}''. Got ''{1}''", "max_lat", max_lat));
+                    throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "max_lat", max_lat));
                 }
                 current.setMax(new LatLon(maxLon, maxLat));
@@ -157,9 +157,9 @@
             if (qName.equals("osm")) {
                 if (atts == null) {
-                    throwException(tr("Missing mandatory attribute ''{0}'' of XML element {1}", "version", "osm"));
+                    throwException(tr("Missing mandatory attribute ''{0}'' of XML element {1}.", "version", "osm"));
                 }
                 String v = atts.getValue("version");
                 if (v == null) {
-                    throwException(tr("Missing mandatory attribute ''{0}''", "version"));
+                    throwException(tr("Missing mandatory attribute ''{0}''.", "version"));
                 }
                 if (!(v.equals("0.6"))) {
@@ -195,5 +195,5 @@
                 return User.createOsmUser(id, name);
             } catch(NumberFormatException e) {
-                throwException(tr("Illegal value for attribute ''uid''. Got ''{0}''", uid));
+                throwException(tr("Illegal value for attribute ''uid''. Got ''{0}''.", uid));
             }
             return null;
Index: trunk/src/org/openstreetmap/josm/io/OsmExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmExporter.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmExporter.java	(revision 2181)
@@ -81,5 +81,5 @@
             JOptionPane.showMessageDialog(
                     Main.parent,
-                    tr("<html>An error occurred while saving.<br>Error is: <br>{0}</html>", e.getMessage()),
+                    tr("<html>An error occurred while saving.<br>Error is:<br>{0}</html>", e.getMessage()),
                     tr("Error"),
                     JOptionPane.ERROR_MESSAGE
@@ -96,5 +96,5 @@
                 JOptionPane.showMessageDialog(
                         Main.parent,
-                        tr("<html>An error occurred while restoring backup file.<br>Error is: <br>{0}</html>", e2.getMessage()),
+                        tr("<html>An error occurred while restoring backup file.<br>Error is:<br>{0}</html>", e2.getMessage()),
                         tr("Error"),
                         JOptionPane.ERROR_MESSAGE
Index: trunk/src/org/openstreetmap/josm/io/OsmHistoryReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmHistoryReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmHistoryReader.java	(revision 2181)
@@ -66,5 +66,5 @@
             String v = attr.getValue(name);
             if (v == null) {
-                throwException(tr("mandatory attribute ''{0}'' missing", name));
+                throwException(tr("Missing mandatory attribute ''{0}''.", name));
             }
             Long l = 0l;
@@ -72,8 +72,8 @@
                 l = Long.parseLong(v);
             } catch(NumberFormatException e) {
-                throwException(tr("illegal value for mandatory attribute ''{0}'' of type long, got ''{1}''", name, v));
+                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type long. Got ''{1}''.", name, v));
             }
             if (l < 0) {
-                throwException(tr("illegal value for mandatory attribute ''{0}'' of type long (>=0), got ''{1}''", name, v));
+                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type long (>=0). Got ''{1}''.", name, v));
             }
             return l;
@@ -83,5 +83,5 @@
             String v = attr.getValue(name);
             if (v == null) {
-                throwException(tr("mandatory attribute ''{0}'' missing", name));
+                throwException(tr("Missing mandatory attribute ''{0}''.", name));
             }
             Integer i = 0;
@@ -89,8 +89,8 @@
                 i = Integer.parseInt(v);
             } catch(NumberFormatException e) {
-                throwException(tr("illegal value for mandatory attribute ''{0}'' of type int, got ''{1}''", name, v));
+                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type int. Got ''{1}''.", name, v));
             }
             if (i < 0) {
-                throwException(tr("illegal value for mandatory attribute ''{0}'' of type int (>=0), got ''{1}''", name, v));
+                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type int (>=0). Got ''{1}''.", name, v));
             }
             return i;
@@ -100,5 +100,5 @@
             String v = attr.getValue(name);
             if (v == null) {
-                throwException(tr("mandatory attribute ''{0}'' missing", name));
+                throwException(tr("Missing mandatory attribute ''{0}''.", name));
             }
             return v;
@@ -108,9 +108,9 @@
             String v = attr.getValue(name);
             if (v == null) {
-                throwException(tr("mandatory attribute ''{0}'' missing", name));
+                throwException(tr("Missing mandatory attribute ''{0}''.", name));
             }
             if (v.equals("true")) return true;
             if (v.equals("false")) return false;
-            throwException(tr("illegal value for mandatory attribute ''{0}'' of type boolean, got ''{1}''", name, v));
+            throwException(tr("Illegal value for mandatory attribute ''{0}'' of type boolean. Got ''{1}''.", name, v));
             // not reached
             return false;
@@ -172,5 +172,5 @@
                 type = OsmPrimitiveType.fromApiTypeName(v);
             } catch(IllegalArgumentException e) {
-                throwException(tr("illegal value for mandatory attribute ''{0}'' of type OsmPrimitiveType, got ''{1}''", "type", v));
+                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type OsmPrimitiveType. Got ''{1}''.", "type", v));
             }
             String role = getMandatoryAttributeString(atts, "role");
Index: trunk/src/org/openstreetmap/josm/io/OsmImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmImporter.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmImporter.java	(revision 2181)
@@ -34,5 +34,5 @@
         } catch (FileNotFoundException e) {
             e.printStackTrace();
-            throw new IOException(tr("File \"{0}\" does not exist", file.getName()));
+            throw new IOException(tr("File ''{0}'' does not exist.", file.getName()));
         }
     }
Index: trunk/src/org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 2181)
@@ -172,9 +172,9 @@
             if (qName.equals("osm")) {
                 if (atts == null) {
-                    throwException(tr("Missing mandatory attribute ''{0}'' of XML element {1}", "version", "osm"));
+                    throwException(tr("Missing mandatory attribute ''{0}'' of XML element {1}.", "version", "osm"));
                 }
                 String v = atts.getValue("version");
                 if (v == null) {
-                    throwException(tr("Missing mandatory attribute ''{0}''", "version"));
+                    throwException(tr("Missing mandatory attribute ''{0}''.", "version"));
                 }
                 if (!(v.equals("0.5") || v.equals("0.6"))) {
@@ -203,5 +203,5 @@
                 } else {
                     throwException(tr(
-                            "Missing manadatory attributes on element ''bounds''. Got minlon=''{0}'',minlat=''{1}00,maxlon=''{3}'',maxlat=''{4}'', origin=''{5}''",
+                            "Missing manadatory attributes on element ''bounds''. Got minlon=''{0}'',minlat=''{1}00,maxlon=''{3}'',maxlat=''{4}'', origin=''{5}''.",
                             minlon, minlat, maxlon, maxlat, origin
                     ));
@@ -226,10 +226,10 @@
                 if (list == null) {
                     throwException(
-                            tr("found XML element <nd> element not as direct child of element <way>")
+                            tr("Found XML element <nd> not as direct child of element <way>.")
                     );
                 }
                 if (atts.getValue("ref") == null) {
                     throwException(
-                            tr("Missing mandatory attribute ''{0}'' on <nd> of way {1}", "ref", current.id)
+                            tr("Missing mandatory attribute ''{0}'' on <nd> of way {1}.", "ref", current.id)
                     );
                 }
@@ -237,5 +237,5 @@
                 if (id == 0) {
                     throwException(
-                            tr("Illegal value of attribute ''ref'' of element <nd>. Got {0}", id)
+                            tr("Illegal value of attribute ''ref'' of element <nd>. Got {0}.", id)
                     );
                 }
@@ -254,5 +254,5 @@
                 if (list == null) {
                     throwException(
-                            tr("Found XML element <member> not as direct child of element <relation>")
+                            tr("Found XML element <member> not as direct child of element <relation>.")
                     );
                 }
@@ -260,5 +260,5 @@
                 String value = atts.getValue("ref");
                 if (value == null) {
-                    throwException(tr("Missing attribute ''ref'' on member in relation {0}",current.id));
+                    throwException(tr("Missing attribute ''ref'' on member in relation {0}.",current.id));
                 }
                 try {
@@ -269,5 +269,5 @@
                 value = atts.getValue("type");
                 if (value == null) {
-                    throwException(tr("Missing attribute ''type'' on member {0} in relation {1}", Long.toString(emd.id), Long.toString(current.id)));
+                    throwException(tr("Missing attribute ''type'' on member {0} in relation {1}.", Long.toString(emd.id), Long.toString(current.id)));
                 }
                 if (! (value.equals("way") || value.equals("node") || value.equals("relation"))) {
@@ -309,5 +309,5 @@
                 return User.createOsmUser(id, name);
             } catch(NumberFormatException e) {
-                throwException(tr("Illegal value for attribute ''uid''. Got ''{0}''", uid));
+                throwException(tr("Illegal value for attribute ''uid''. Got ''{0}''.", uid));
             }
             return null;
@@ -319,5 +319,5 @@
             current.id = getLong(atts, "id");
             if (current.id == 0) {
-                throwException(tr("Illegal object with id=0"));
+                throwException(tr("Illegal object with ID=0."));
             }
 
@@ -345,24 +345,24 @@
                     current.version = Integer.parseInt(version);
                 } catch(NumberFormatException e) {
-                    throwException(tr("Illegal value for attribute ''version'' on OSM primitive with id {0}. Got {1}", Long.toString(current.id), version));
+                    throwException(tr("Illegal value for attribute ''version'' on OSM primitive with ID {0}. Got {1}.", Long.toString(current.id), version));
                 }
                 if (ds.version.equals("0.6")){
                     if (current.version <= 0 && current.id > 0) {
-                        throwException(tr("Illegal value for attribute ''version'' on OSM primitive with id {0}. Got {1}", Long.toString(current.id), version));
+                        throwException(tr("Illegal value for attribute ''version'' on OSM primitive with ID {0}. Got {1}.", Long.toString(current.id), version));
                     } else if (current.version < 0 && current.id  <=0) {
-                        System.out.println(tr("WARNING: normalizing value of attribute ''version'' of element {0} to 0, API version is ''0.6''. Got {1}", current.id, current.version));
+                        System.out.println(tr("WARNING: Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.", current.id, current.version, 0, "0.6"));
                         current.version = 0;
                     }
                 } else if (ds.version.equals("0.5")) {
                     if (current.version <= 0 && current.id > 0) {
-                        System.out.println(tr("WARNING: normalizing value of attribute ''version'' of element {0} to 1, API version is ''0.5''. Got {1}", current.id, current.version));
+                        System.out.println(tr("WARNING: Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.", current.id, current.version, 1, "0.5"));
                         current.version = 1;
                     } else if (current.version < 0 && current.id  <=0) {
-                        System.out.println(tr("WARNING: normalizing value of attribute ''version'' of element {0} to 0, API version is ''0.5''. Got {1}", current.id, current.version));
+                        System.out.println(tr("WARNING: Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.", current.id, current.version, 0, "0.5"));
                         current.version = 0;
                     }
                 } else {
                     // should not happen. API version has been checked before
-                    throwException(tr("Unknown or unsupported API version. Got {0}", ds.version));
+                    throwException(tr("Unknown or unsupported API version. Got {0}.", ds.version));
                 }
             } else {
@@ -370,5 +370,5 @@
                 //
                 if (current.id > 0 && ds.version != null && ds.version.equals("0.6")) {
-                    throwException(tr("Missing attribute ''version'' on OSM primitive with id {0}", Long.toString(current.id)));
+                    throwException(tr("Missing attribute ''version'' on OSM primitive with ID {0}.", Long.toString(current.id)));
                 }
             }
@@ -392,5 +392,5 @@
                 return Long.parseLong(value);
             } catch(NumberFormatException e) {
-                throwException(tr("Illegal long value for attribute ''{0}''. Got ''{1}''",name, value));
+                throwException(tr("Illegal long value for attribute ''{0}''. Got ''{1}''.",name, value));
             }
             return 0; // should not happen
@@ -416,5 +416,5 @@
                         throw new IllegalDataException (
                                 tr(
-                                        "way with external id ''{0}'' includes missing node with external id ''{1}''",
+                                        "Way with external ID ''{0}'' includes missing node with external ID ''{1}''.",
                                         externalWayId,
                                         id
@@ -429,6 +429,6 @@
             w.setNodes(wayNodes);
             if (incomplete) {
-                logger.warning(tr("marked way {0} with {1} nodes incomplete because at least one node was missing in the " +
-                        "loaded data and is therefore incomplete too", externalWayId, w.getNodesCount()));
+                logger.warning(tr("Marked way {0} with {1} nodes incomplete because at least one node was missing in the " +
+                        "loaded data and is therefore incomplete too.", externalWayId, w.getNodesCount()));
                 w.incomplete = true;
                 ds.addPrimitive(w);
@@ -477,5 +477,5 @@
                 } else
                     throw new IllegalDataException(
-                            tr("Unknown relation member type ''{0}'' in relation with external id ''{1}''", rm.type,externalRelationId)
+                            tr("Unknown relation member type ''{0}'' in relation with external id ''{1}''.", rm.type,externalRelationId)
                     );
 
@@ -488,5 +488,5 @@
                         throw new IllegalDataException(
                                 tr(
-                                        "Relation with external id ''{0}'' refers to missing primitive with external id ''{1}''",
+                                        "Relation with external id ''{0}'' refers to missing primitive with external id ''{1}''.",
                                         externalRelationId,
                                         rm.id
Index: trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java	(revision 2181)
@@ -50,7 +50,7 @@
     public OsmServerBackreferenceReader(OsmPrimitive primitive) throws IllegalArgumentException {
         if (primitive == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "primitive"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
         if (primitive.getId() == 0)
-            throw new IllegalArgumentException(tr("id parameter ''{0}'' > 0 required. Got {1}", "primitive", primitive.getId()));
+            throw new IllegalArgumentException(tr("ID parameter ''{0}'' > 0 expected. Got ''{1}''.", "primitive", primitive.getId()));
         this.id = primitive.getId();
         this.primitiveType = OsmPrimitiveType.from(primitive);
@@ -70,7 +70,7 @@
     public OsmServerBackreferenceReader(long id, OsmPrimitiveType type) throws IllegalArgumentException   {
         if (id <= 0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' > 0 required. Got {1}", "id", id));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' > 0 expected. Got ''{1}''.", "id", id));
         if (type == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "type"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
         this.id = id;
         this.primitiveType = type;
Index: trunk/src/org/openstreetmap/josm/io/OsmServerChangesetReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerChangesetReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerChangesetReader.java	(revision 2181)
@@ -44,5 +44,5 @@
     public List<Changeset> queryChangesets(ChangesetQuery query, ProgressMonitor monitor) throws OsmTransferException {
         if (query == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "query"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "query"));
         if (monitor == null) {
             monitor = NullProgressMonitor.INSTANCE;
@@ -78,5 +78,5 @@
     public Changeset readChangeset(long id, ProgressMonitor monitor) throws OsmTransferException {
         if (id <= 0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' > 0 expected. Got {1}", "id", id));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' > 0 expected. Got ''{1}''.", "id", id));
         if (monitor == null) {
             monitor = NullProgressMonitor.INSTANCE;
Index: trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java	(revision 2181)
@@ -31,7 +31,7 @@
     public OsmServerHistoryReader(OsmPrimitiveType type, long id) throws IllegalArgumentException {
         if (type == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "type"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
         if (id < 0)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' >= 0 expected, got ''{1}''", "id", id));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' >= 0 expected. Got ''{1}''.", "id", id));
         this.primitiveType = type;
         this.id = id;
Index: trunk/src/org/openstreetmap/josm/io/OsmServerReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 2181)
@@ -61,5 +61,5 @@
                 activeConnection = (HttpURLConnection)url.openConnection();
             } catch(Exception e) {
-                throw new OsmTransferException(tr("Failed to open connection to API {0}", url.toExternalForm()), e);
+                throw new OsmTransferException(tr("Failed to open connection to API {0}.", url.toExternalForm()), e);
             }
             if (cancel) {
@@ -86,5 +86,5 @@
                 activeConnection.connect();
             } catch (Exception e) {
-                throw new OsmTransferException(tr("Couldn't connect to the osm server. Please check your internet connection."), e);
+                throw new OsmTransferException(tr("Couldn't connect to the OSM server. Please check your internet connection."), e);
             }
             try {
Index: trunk/src/org/openstreetmap/josm/io/OsmServerUserInfoReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerUserInfoReader.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerUserInfoReader.java	(revision 2181)
@@ -46,14 +46,14 @@
             Node xmlNode = (Node)xpath.compile("/osm/user[1]").evaluate(document, XPathConstants.NODE);
             if ( xmlNode== null)
-                throw new OsmDataParsingException(tr("XML tag <user> is missing"));
+                throw new OsmDataParsingException(tr("XML tag <user> is missing."));
 
             // -- id
             String v = getAttribute(xmlNode, "id");
             if (v == null)
-                throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''", "id", "user"));
+                throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''.", "id", "user"));
             try {
                 userInfo.setId(Long.parseLong(v));
             } catch(NumberFormatException e) {
-                throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}", "id", "user", v));
+                throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}.", "id", "user", v));
             }
             // -- display name
@@ -75,30 +75,30 @@
                 v = getAttribute(xmlNode, "lat");
                 if (v == null)
-                    throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''", "lat", "home"));
+                    throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''.", "lat", "home"));
                 double lat;
                 try {
                     lat = Double.parseDouble(v);
                 } catch(NumberFormatException e) {
-                    throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}", "lat", "home", v));
+                    throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}.", "lat", "home", v));
                 }
 
                 v = getAttribute(xmlNode, "lon");
                 if (v == null)
-                    throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''", "lon", "home"));
+                    throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''.", "lon", "home"));
                 double lon;
                 try {
                     lon = Double.parseDouble(v);
                 } catch(NumberFormatException e) {
-                    throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}", "lon", "home", v));
+                    throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}.", "lon", "home", v));
                 }
 
                 v = getAttribute(xmlNode, "zoom");
                 if (v == null)
-                    throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''", "zoom", "home"));
+                    throw new OsmDataParsingException(tr("Missing attribute ''{0}'' on XML tag ''{1}''.", "zoom", "home"));
                 int zoom;
                 try {
                     zoom = Integer.parseInt(v);
                 } catch(NumberFormatException e) {
-                    throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}", "zoom", "home", v));
+                    throw new OsmDataParsingException(tr("Illegal value for attribute ''{0}'' on XML tag ''{1}''. Got {2}.", "zoom", "home", v));
                 }
                 userInfo.setHome(new LatLon(lat,lon));
Index: trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 2181)
@@ -145,5 +145,5 @@
             boolean useDiffUpload = Main.pref.getBoolean("osm-server.atomic-upload", apiVersion.compareTo("0.6")>=0);
             if (useDiffUpload && ! casUseDiffUploads) {
-                System.out.println(tr("WARNING: preference ''{0}'' or api version ''{1}'' of dataset requires to use diff uploads, but API is not able to handle them. Ignoring diff upload.", "osm-server.atomic-upload", apiVersion));
+                System.out.println(tr("WARNING: preference ''{0}'' or API version ''{1}'' of dataset requires to use diff uploads, but API is not able to handle them. Ignoring diff upload.", "osm-server.atomic-upload", apiVersion));
                 useDiffUpload = false;
             }
Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 2181)
@@ -341,5 +341,5 @@
     public static ImageIcon get(OsmPrimitiveType type) throws IllegalArgumentException {
         if (type == null)
-            throw new IllegalArgumentException(tr("parameter ''{0}'' must not be null", "type"));
+            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
         return get("data", type.getAPIName());
     }
Index: trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java	(revision 2180)
+++ trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java	(revision 2181)
@@ -102,5 +102,5 @@
             Matcher m = p.matcher(preferenceValue);
             if (!m.find())
-                throw new WindowGeometryException(tr("preference with key ''{0}'' doesn''t include ''{1}''. Can''t restore window geometry from preferences.", preferenceKey, field));
+                throw new WindowGeometryException(tr("Preference with key ''{0}'' does not include ''{1}''. Can''t restore window geometry from preferences.", preferenceKey, field));
             v = m.group(1);
             return Integer.parseInt(v);
@@ -108,7 +108,7 @@
             throw e;
         } catch(NumberFormatException e) {
-            throw new WindowGeometryException(tr("preference with key ''{0}'' doesn''t provide an int value for ''{1}''. Got {2}. Can''t restore window geometry from preferences.", preferenceKey, field, v));
+            throw new WindowGeometryException(tr("Preference with key ''{0}'' does not provide an int value for ''{1}''. Got {2}. Can''t restore window geometry from preferences.", preferenceKey, field, v));
         } catch(Exception e) {
-            throw new WindowGeometryException(tr("failed to parse field ''{1}'' in preference with key ''{0}''. Exception was: {2}. Can''t restore window geometry from preferences.", preferenceKey, field, e.toString()), e);
+            throw new WindowGeometryException(tr("Failed to parse field ''{1}'' in preference with key ''{0}''. Exception was: {2}. Can''t restore window geometry from preferences.", preferenceKey, field, e.toString()), e);
         }
     }
@@ -117,5 +117,5 @@
         String value = Main.pref.get(preferenceKey);
         if (value == null)
-            throw new WindowGeometryException(tr("preference with key ''{0}'' doesn''t exist. Can''t restore window geometry from preferences.", preferenceKey));
+            throw new WindowGeometryException(tr("Preference with key ''{0}'' does not exist. Can''t restore window geometry from preferences.", preferenceKey));
         topLeft = new Point();
         extent = new Dimension();
@@ -156,5 +156,5 @@
             initFromPreferences(preferenceKey);
         } catch(WindowGeometryException e) {
-            System.out.println(tr("Warning: failed to restore window geometry from key ''{0}''. Falling back to default geometry. Details: {1}", preferenceKey, e.getMessage()));
+            System.out.println(tr("Warning: Failed to restore window geometry from key ''{0}''. Falling back to default geometry. Details: {1}", preferenceKey, e.getMessage()));
             initFromWindowGeometry(defaultGeometry);
         }
