Index: org/openstreetmap/josm/io/BoundingBoxDownloader.java
===================================================================
--- org/openstreetmap/josm/io/BoundingBoxDownloader.java	(revision 2180)
+++ org/openstreetmap/josm/io/BoundingBoxDownloader.java	(working copy)
@@ -71,7 +71,7 @@
             // caused by HttpUrlConnection in case of illegal stuff in the response
             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)
                 return null;
Index: org/openstreetmap/josm/io/ChangesetQuery.java
===================================================================
--- org/openstreetmap/josm/io/ChangesetQuery.java	(revision 2180)
+++ org/openstreetmap/josm/io/ChangesetQuery.java	(working copy)
@@ -22,7 +22,7 @@
 
     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: org/openstreetmap/josm/io/FileExporter.java
===================================================================
--- org/openstreetmap/josm/io/FileExporter.java	(revision 2180)
+++ org/openstreetmap/josm/io/FileExporter.java	(working copy)
@@ -21,6 +21,6 @@
     }
 
     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: org/openstreetmap/josm/io/FileImporter.java
===================================================================
--- org/openstreetmap/josm/io/FileImporter.java	(revision 2180)
+++ org/openstreetmap/josm/io/FileImporter.java	(working copy)
@@ -21,7 +21,7 @@
     }
 
     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: org/openstreetmap/josm/io/GpxExporter.java
===================================================================
--- org/openstreetmap/josm/io/GpxExporter.java	(revision 2180)
+++ org/openstreetmap/josm/io/GpxExporter.java	(working copy)
@@ -52,12 +52,12 @@
     @Override
     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();
         if (fn.indexOf('.') == -1) {
@@ -68,7 +68,7 @@
         // open the dialog asking for options
         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);
         desc.setLineWrap(true);
Index: org/openstreetmap/josm/io/GpxReader.java
===================================================================
--- org/openstreetmap/josm/io/GpxReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/GpxReader.java	(working copy)
@@ -307,7 +307,7 @@
 
         @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: org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(working copy)
@@ -111,11 +111,11 @@
      */
     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;
     }
@@ -362,9 +362,9 @@
             try {
                 String msg = "";
                 switch(type) {
-                case NODE: msg = tr("Fetching node with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
-                case WAY: msg = tr("Fetching way with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
-                case RELATION: msg = tr("Fetching relation with id {0} from ''{1}''", id, OsmApi.getOsmApi().getBaseUrl()); break;
+                case NODE: msg = tr("Fetching node with id {0} from ''{1}''.", id, OsmApi.getOsmApi().getBaseUrl()); break;
+                case WAY: msg = tr("Fetching way with id {0} from ''{1}''.", id, OsmApi.getOsmApi().getBaseUrl()); break;
+                case RELATION: msg = tr("Fetching relation with id {0} from ''{1}''.", id, OsmApi.getOsmApi().getBaseUrl()); break;
                 }
                 progressMonitor.setCustomText(msg);
                 singleGetId(type, id, progressMonitor);
@@ -400,9 +400,9 @@
     protected void fetchPrimitives(Set<Long> ids, OsmPrimitiveType type, ProgressMonitor progressMonitor) throws OsmTransferException{
         String msg = "";
         switch(type) {
-        case NODE: msg = tr("Fetching a package of nodes from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
-        case WAY:  msg = tr("Fetching a package of ways from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
-        case RELATION:  msg = tr("Fetching a package of relations from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
+        case NODE: msg = tr("Fetching a package of nodes from ''{0}''.", OsmApi.getOsmApi().getBaseUrl()); break;
+        case WAY:  msg = tr("Fetching a package of ways from ''{0}''.", OsmApi.getOsmApi().getBaseUrl()); break;
+        case RELATION:  msg = tr("Fetching a package of relations from ''{0}''.", OsmApi.getOsmApi().getBaseUrl()); break;
         }
         progressMonitor.setCustomText(msg);
         Set<Long> toFetch = new HashSet<Long>(ids);
@@ -413,7 +413,7 @@
                 multiGetIdPackage(type, pkg, progressMonitor);
             } 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
                     throw e;
Index: org/openstreetmap/josm/io/OsmApi.java
===================================================================
--- org/openstreetmap/josm/io/OsmApi.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmApi.java	(working copy)
@@ -79,7 +79,7 @@
     static public OsmApi getOsmApi() {
         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);
     }
 
@@ -131,7 +131,7 @@
      */
     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;
     }
 
@@ -175,7 +175,7 @@
                         capabilities.get("version", "minimum"), capabilities.get("version", "maximum")));
                 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));
             osmWriter.setVersion(version);
@@ -250,7 +250,7 @@
             ret = sendRequest("PUT", OsmPrimitiveType.from(osm).getAPIName()+"/create", toXml(osm, true),monitor);
             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));
         }
     }
 
@@ -276,7 +276,7 @@
                 osm.setOsmId(osm.getId(), Integer.parseInt(ret.trim()));
             }
         } 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));
         }
     }
 
@@ -310,7 +310,7 @@
      */
     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...")));
             initialize(progressMonitor);
@@ -320,7 +320,7 @@
                 changeset.setId(Long.parseLong(ret.trim()));
                 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())));
         } finally {
@@ -342,12 +342,12 @@
      */
     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("Id of changeset > 0 required. Got {0}", changeset.getId()));
         try {
             monitor.beginTask(tr("Updating changeset..."));
             initialize(monitor);
@@ -377,12 +377,12 @@
      */
     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("Id of changeset > 0 required. Got {0}", changeset.getId()));
         try {
             monitor.beginTask(tr("Closing changeset..."));
             initialize(monitor);
@@ -404,7 +404,7 @@
         try {
             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);
             final ArrayList<OsmPrimitive> processed = new ArrayList<OsmPrimitive>();
@@ -595,7 +595,7 @@
         if (changeset == null)
             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()));
     }
     /**
      * Replies the changeset data uploads are currently directed to
@@ -623,7 +623,7 @@
         if (changeset.getId() <= 0)
             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: org/openstreetmap/josm/io/OsmApiException.java
===================================================================
--- org/openstreetmap/josm/io/OsmApiException.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmApiException.java	(working copy)
@@ -90,7 +90,7 @@
             sb.append(tr(errorBody));
             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: org/openstreetmap/josm/io/OsmChangesetParser.java
===================================================================
--- org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmChangesetParser.java	(working copy)
@@ -69,16 +69,16 @@
             // -- id
             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;
             try {
                 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 numeric value for attribute ''{0}''. Got ''{1}''", "id", id));
             }
             current.setId(id);
 
@@ -106,13 +106,13 @@
             //  -- open
             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);
             } else if (value.equals("false")) {
                 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));
             }
 
             // -- min_lon and min_lat
@@ -125,13 +125,13 @@
                 try {
                     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;
                 try {
                     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));
 
@@ -141,13 +141,13 @@
                 try {
                     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;
                 try {
                     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));
             }
@@ -156,11 +156,11 @@
         @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
             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"))) {
                     throwException(tr("Unsupported version: {0}", v));
Index: org/openstreetmap/josm/io/OsmExporter.java
===================================================================
--- org/openstreetmap/josm/io/OsmExporter.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmExporter.java	(working copy)
@@ -80,7 +80,7 @@
             e.printStackTrace();
             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
             );
@@ -95,7 +95,7 @@
                 e2.printStackTrace();
                 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: org/openstreetmap/josm/io/OsmHistoryReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmHistoryReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmHistoryReader.java	(working copy)
@@ -65,16 +65,16 @@
         protected long getMandatoryAttributeLong(Attributes attr, String name) throws SAXException{
             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;
             try {
                 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;
         }
@@ -82,16 +82,16 @@
         protected int getMandatoryAttributeInt(Attributes attr, String name) throws SAXException{
             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;
             try {
                 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;
         }
@@ -99,7 +99,7 @@
         protected String getMandatoryAttributeString(Attributes attr, String name) throws SAXException{
             String v = attr.getValue(name);
             if (v == null) {
-                throwException(tr("mandatory attribute ''{0}'' missing", name));
+                throwException(tr("Missing mandatory attribute ''{0}''.", name));
             }
             return v;
         }
@@ -107,11 +107,11 @@
         protected boolean getMandatoryAttributeBoolean(Attributes attr, String name) throws SAXException{
             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;
         }
@@ -171,7 +171,7 @@
             try {
                 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");
             org.openstreetmap.josm.data.osm.history.RelationMember member = new org.openstreetmap.josm.data.osm.history.RelationMember(role, type,ref);
Index: org/openstreetmap/josm/io/OsmImporter.java
===================================================================
--- org/openstreetmap/josm/io/OsmImporter.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmImporter.java	(working copy)
@@ -33,7 +33,7 @@
             importData(in, file);
         } 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: org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmReader.java	(working copy)
@@ -171,11 +171,11 @@
         @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
             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"))) {
                     throwException(tr("Unsupported version: {0}", v));
@@ -225,12 +225,12 @@
                 Collection<Long> list = ways.get(current.id);
                 if (list == null) {
                     throwException(
-                            tr("found XML element <nd> element not as direct child of element <way>")
+                            tr("Found XML element <nd> element 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)
                     );
                 }
                 long id = getLong(atts, "ref");
@@ -253,13 +253,13 @@
                 Collection<RelationMemberData> list = relations.get(current.id);
                 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>.")
                     );
                 }
                 RelationMemberData emd = new RelationMemberData();
                 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 {
                     emd.id = Long.parseLong(value);
@@ -268,7 +268,7 @@
                 }
                 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"))) {
                     throwException(tr("Illegal value for attribute ''type'' on member {0} in relation {1}. Got {2}.", Long.toString(emd.id), Long.toString(current.id), value));
@@ -369,7 +369,7 @@
                 // version expected for OSM primitives with an id assigned by the server (id > 0), since API 0.6
                 //
                 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)));
                 }
             }
 
@@ -415,7 +415,7 @@
                     if (id <= 0)
                         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
                                 )
@@ -428,8 +428,8 @@
             }
             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);
             } else {
@@ -476,7 +476,7 @@
                     primitive = externalIdMap.get("r" + rm.id);
                 } 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)
                     );
 
                 if (primitive == null) {
@@ -487,7 +487,7 @@
                         //
                         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: org/openstreetmap/josm/io/OsmServerBackreferenceReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmServerBackreferenceReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmServerBackreferenceReader.java	(working copy)
@@ -49,9 +49,9 @@
      */
     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 required. Got {1}", "primitive", primitive.getId()));
         this.id = primitive.getId();
         this.primitiveType = OsmPrimitiveType.from(primitive);
         this.readFull = false;
@@ -69,9 +69,9 @@
      */
     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 required. 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;
         this.readFull = false;
Index: org/openstreetmap/josm/io/OsmServerChangesetReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmServerChangesetReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmServerChangesetReader.java	(working copy)
@@ -43,7 +43,7 @@
      */
     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;
         }
@@ -77,7 +77,7 @@
      */
     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: org/openstreetmap/josm/io/OsmServerHistoryReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmServerHistoryReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmServerHistoryReader.java	(working copy)
@@ -30,9 +30,9 @@
      */
     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: org/openstreetmap/josm/io/OsmServerReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmServerReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmServerReader.java	(working copy)
@@ -60,7 +60,7 @@
             try {
                 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) {
                 activeConnection.disconnect();
@@ -85,7 +85,7 @@
                 System.out.println("GET " + url);
                 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 {
                 if (isAuthCancelled() && activeConnection.getResponseCode() == HttpURLConnection.HTTP_UNAUTHORIZED)
Index: org/openstreetmap/josm/io/OsmServerUserInfoReader.java
===================================================================
--- org/openstreetmap/josm/io/OsmServerUserInfoReader.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmServerUserInfoReader.java	(working copy)
@@ -45,12 +45,12 @@
             UserInfo userInfo = new UserInfo();
             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) {
@@ -74,7 +74,7 @@
             if (xmlNode != null) {
                 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);
@@ -84,7 +84,7 @@
 
                 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);
@@ -94,7 +94,7 @@
 
                 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);
Index: org/openstreetmap/josm/io/OsmServerWriter.java
===================================================================
--- org/openstreetmap/josm/io/OsmServerWriter.java	(revision 2180)
+++ org/openstreetmap/josm/io/OsmServerWriter.java	(working copy)
@@ -144,7 +144,7 @@
             }
             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;
             }
             if (changeset == null) {
