Index: trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java	(revision 2850)
@@ -3,4 +3,6 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.text.MessageFormat;
 
 import org.openstreetmap.josm.Main;
@@ -82,5 +84,5 @@
         CheckParameterUtil.ensureParameterNotNull(userName, "userName");
         if (userName.trim().equals(""))
-            throw new IllegalArgumentException(tr("Expected non-empty value for parameter ''{0}'', got ''{1}''", "userName", userName));
+            throw new IllegalArgumentException(MessageFormat.format("Expected non-empty value for parameter ''{0}'', got ''{1}''", "userName", userName));
         this.userName = userName;
         userInfo = null;
Index: trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/download/BoundingBoxSelection.java	(revision 2850)
@@ -217,5 +217,5 @@
                 value = Double.parseDouble(tfLatValue.getText());
             } catch(NumberFormatException ex) {
-                setErrorMessage(tfLatValue,tr("The string ''{0}'' isn''t a valid double value.", tfLatValue.getText()));
+                setErrorMessage(tfLatValue,tr("The string ''{0}'' is not a valid double value.", tfLatValue.getText()));
                 return;
             }
@@ -249,5 +249,5 @@
                 value = Double.parseDouble(tfLonValue.getText());
             } catch(NumberFormatException ex) {
-                setErrorMessage(tfLonValue,tr("The string ''{0}'' isn''t a valid double value.", tfLonValue.getText()));
+                setErrorMessage(tfLonValue,tr("The string ''{0}'' is not a valid double value.", tfLonValue.getText()));
                 return;
             }
Index: trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 2850)
@@ -509,5 +509,5 @@
                     }
                 } catch(BadLocationException e) {
-                    System.err.println(tr("Warning: bad location in HTML document. Exception was: " + e.toString()));
+                    System.err.println(tr("Warning: bad location in HTML document. Exception was: {0}", e.toString()));
                     e.printStackTrace();
                 }
Index: trunk/src/org/openstreetmap/josm/gui/history/AdjustmentSynchronizer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/AdjustmentSynchronizer.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/history/AdjustmentSynchronizer.java	(revision 2850)
@@ -15,4 +15,6 @@
 
 import javax.swing.JCheckBox;
+
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 
 /**
@@ -73,9 +75,7 @@
      */
     protected void setParticipatingInSynchronizedScrolling(Adjustable adjustable, boolean isParticipating) {
-        if (adjustable == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "adjustable"));
-
+        CheckParameterUtil.ensureParameterNotNull(adjustable, "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. Cannot set participation in synchronized adjustment.", adjustable));
 
         enabledMap.put(adjustable, isParticipating);
@@ -113,9 +113,7 @@
      * @exception IllegalArgumentException thrown, if adjustable is null
      */
-    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"));
-        if (view == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "view"));
+    protected void adapt(final JCheckBox view, final Adjustable adjustable) throws IllegalStateException {
+        CheckParameterUtil.ensureParameterNotNull(adjustable, "adjustable");
+        CheckParameterUtil.ensureParameterNotNull(view, "view");
 
         if (! synchronizedAdjustables.contains(adjustable)) {
Index: trunk/src/org/openstreetmap/josm/gui/history/CoordinateInfoViewer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/CoordinateInfoViewer.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/history/CoordinateInfoViewer.java	(revision 2850)
@@ -19,4 +19,5 @@
 import org.openstreetmap.josm.data.osm.history.HistoryNode;
 import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 
 /**
@@ -92,6 +93,5 @@
      */
     public CoordinateInfoViewer(HistoryBrowserModel model) throws IllegalArgumentException{
-        if (model == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null", "model"));
+        CheckParameterUtil.ensureParameterNotNull(model, "model");
         setModel(model);
         build();
Index: trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java	(revision 2850)
@@ -40,4 +40,5 @@
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 
 /**
@@ -114,6 +115,5 @@
     public HistoryBrowserModel(History history) {
         this();
-        if (history == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null", "history"));
+        CheckParameterUtil.ensureParameterNotNull(history, "history");
         setHistory(history);
     }
@@ -225,6 +225,5 @@
      */
     public TagTableModel getTagTableModel(PointInTimeType pointInTimeType) throws IllegalArgumentException {
-        if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
+        CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
         if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return currentTagTableModel;
@@ -237,6 +236,5 @@
 
     public NodeListTableModel getNodeListTableModel(PointInTimeType pointInTimeType) throws IllegalArgumentException {
-        if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
+        CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
         if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return currentNodeListTableModel;
@@ -249,6 +247,5 @@
 
     public RelationMemberTableModel getRelationMemberTableModel(PointInTimeType pointInTimeType) throws IllegalArgumentException {
-        if (pointInTimeType == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pointInTimeType"));
+        CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
         if (pointInTimeType.equals(PointInTimeType.CURRENT_POINT_IN_TIME))
             return currentRelationMemberTableModel;
@@ -273,6 +270,5 @@
      */
     public void setReferencePointInTime(HistoryOsmPrimitive reference) throws IllegalArgumentException, IllegalStateException{
-        if (reference == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "reference"));
+        CheckParameterUtil.ensureParameterNotNull(reference, "reference");
         if (history == null)
             throw new IllegalStateException(tr("History not initialized yet. Failed to set reference primitive."));
@@ -304,6 +300,5 @@
      */
     public void setCurrentPointInTime(HistoryOsmPrimitive current) throws IllegalArgumentException, IllegalStateException{
-        if (current == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "current"));
+        CheckParameterUtil.ensureParameterNotNull(current, "current");
         if (history == null)
             throw new IllegalStateException(tr("History not initialized yet. Failed to set current primitive."));
@@ -347,6 +342,5 @@
      */
     public HistoryOsmPrimitive getPointInTime(PointInTimeType type) throws IllegalArgumentException  {
-        if (type == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "type"));
+        CheckParameterUtil.ensureParameterNotNull(type, "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 2849)
+++ trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java	(revision 2850)
@@ -7,4 +7,5 @@
 import java.awt.Component;
 import java.io.IOException;
+import java.text.MessageFormat;
 import java.util.Collection;
 import java.util.HashSet;
@@ -78,7 +79,6 @@
     public HistoryLoadTask add(long id, OsmPrimitiveType type) throws IllegalArgumentException {
         if (id <= 0)
-            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(MessageFormat.format("Parameter ''{0}'' > 0 expected. Got {1}.", "id", id));
+        CheckParameterUtil.ensureParameterNotNull(type, "type");
         SimplePrimitiveId pid = new SimplePrimitiveId(id, type);
         toLoad.add(pid);
@@ -92,9 +92,6 @@
      * @return this task
      */
-    public HistoryLoadTask add(PrimitiveId pid) throws IllegalArgumentException {
-        if (pid == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "pid"));
-        if (pid.getUniqueId() <= 0)
-            throw new IllegalArgumentException(tr("id in parameter ''{0}'' > 0 expected, got {1}.", "pid", pid.getUniqueId()));
+    public HistoryLoadTask add(PrimitiveId pid) {
+        CheckParameterUtil.ensureValidPrimitiveId(pid, "pid");
         toLoad.add(pid);
         return this;
@@ -108,7 +105,6 @@
      * @throws IllegalArgumentException thrown if primitive is null
      */
-    public HistoryLoadTask add(HistoryOsmPrimitive primitive) throws IllegalArgumentException  {
-        if (primitive == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
+    public HistoryLoadTask add(HistoryOsmPrimitive primitive) {
+        CheckParameterUtil.ensureParameterNotNull(primitive, "primitive");
         toLoad.add(primitive.getPrimitiveId());
         return this;
@@ -122,7 +118,6 @@
      * @throws IllegalArgumentException thrown if history is null
      */
-    public HistoryLoadTask add(History history)throws IllegalArgumentException {
-        if (history == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "history"));
+    public HistoryLoadTask add(History history) {
+        CheckParameterUtil.ensureParameterNotNull(history, "history");
         toLoad.add(history.getPrimitmiveId());
         return this;
@@ -137,9 +132,6 @@
      * @throws IllegalArgumentException thrown if primitive.getId() <= 0
      */
-    public HistoryLoadTask add(OsmPrimitive primitive) throws IllegalArgumentException {
-        if (primitive == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitive"));
-        if (primitive.getId() <= 0)
-            throw new IllegalArgumentException(tr("Object id > 0 expected. Got {0}", primitive.getId()));
+    public HistoryLoadTask add(OsmPrimitive primitive) {
+        CheckParameterUtil.ensureValidPrimitiveId(primitive, "primitive");
         toLoad.add(primitive.getPrimitiveId());
         return this;
@@ -154,7 +146,6 @@
      * @throws IllegalArgumentException thrown if one of the ids in the collection <= 0
      */
-    public HistoryLoadTask add(Collection<? extends OsmPrimitive> primitives) throws IllegalArgumentException{
-        if (primitives == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "primitives"));
+    public HistoryLoadTask add(Collection<? extends OsmPrimitive> primitives) {
+        CheckParameterUtil.ensureParameterNotNull(primitives, "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 2849)
+++ trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java	(revision 2850)
@@ -23,4 +23,5 @@
 import org.openstreetmap.josm.gui.JMultilineLabel;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.UrlLabel;
 
@@ -118,8 +119,6 @@
      */
     public VersionInfoPanel(HistoryBrowserModel model, PointInTimeType pointInTimeType) throws IllegalArgumentException {
-        if (pointInTimeType == null)
-            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"));
+        CheckParameterUtil.ensureParameterNotNull(pointInTimeType, "pointInTimeType");
+        CheckParameterUtil.ensureParameterNotNull(model, "model");
 
         this.model = model;
Index: trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 2850)
@@ -218,5 +218,5 @@
             private void warnCantImportIntoServerLayer(GpxLayer layer) {
                 String msg = tr("<html>The data in the GPX layer ''{0}'' has been downloaded from the server.<br>"
-                        + "Because its way points don''t include a timestamp we can''t correlate them with audio data.</html>",
+                        + "Because its way points do not include a timestamp we cannot correlate them with audio data.</html>",
                         layer.getName()
                 );
@@ -305,5 +305,5 @@
             private void warnCantImportIntoServerLayer(GpxLayer layer) {
                 String msg = tr("<html>The data in the GPX layer ''{0}'' has been downloaded from the server.<br>"
-                        + "Because its way points don''t include a timestamp we can''t correlate them with images.</html>",
+                        + "Because its way points do not include a timestamp we cannot correlate them with images.</html>",
                         layer.getName()
                 );
@@ -946,10 +946,8 @@
             msg = new JPanel(new GridBagLayout());
 
-            msg
-            .add(
-                    new JLabel(
-                            tr(
-                                    "<html>This action will require {0} individual<br>download requests. Do you wish<br>to continue?</html>",
-                                    toDownload.size())), GBC.eol());
+            msg.add(new JLabel(
+                    tr("<html>This action will require {0} individual<br>"
+                            + "download requests. Do you wish<br>to continue?</html>",
+                            toDownload.size())), GBC.eol());
 
             if (toDownload.size() > 1) {
Index: trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/layer/RawGpsLayer.java	(revision 2850)
@@ -237,5 +237,5 @@
         color.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e) {
-                JColorChooser c = new JColorChooser(Main.pref.getColor(marktr("gps point"), "layer "+getName(), Color.gray));
+                JColorChooser c = new JColorChooser(Main.pref.getColor(marktr("GPS point"), "layer "+getName(), Color.gray));
                 Object[] options = new Object[]{tr("OK"), tr("Cancel"), tr("Default")};
                 int answer = JOptionPane.showOptionDialog(
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 2850)
@@ -289,5 +289,5 @@
             gc.fill = GridBagConstraints.NONE;
             gc.anchor = GridBagConstraints.WEST;
-            panelTf.add(new JLabel(tr("I'm in the timezone of: ")), gc);
+            panelTf.add(new JLabel(tr("I am in the timezone of: ")), gc);
 
             Vector<String> vtTimezones = new Vector<String>();
@@ -362,5 +362,5 @@
             panelLst.add(new JScrollPane(imgList), BorderLayout.CENTER);
 
-            JButton openButton = new JButton(tr("Open an other photo"));
+            JButton openButton = new JButton(tr("Open another photo"));
             openButton.addActionListener(new ActionListener() {
 
@@ -650,5 +650,7 @@
                 lastNumMatched = matchGpxTrack(dateImgLst, selGpx.data, (long) (timezone * 3600) + delta);
 
-                return tr("<html>Matched <b>{0}</b> of <b>{1}</b> photos to GPX track.</html>", lastNumMatched, dateImgLst.size());
+                return trn("<html>Matched <b>{0}</b> of <b>{1}</b> photo to GPX track.</html>",
+                        "<html>Matched <b>{0}</b> of <b>{1}</b> photos to GPX track.</html>",
+                        dateImgLst.size(), lastNumMatched, dateImgLst.size());
             }
         };
@@ -881,5 +883,5 @@
                     tfOffset.getDocument().addDocumentListener(statusBarListener);
 
-                    lblMatches.setText(statusBarText.getText() + "<br>" + trn("(Time difference of {0} day)", "Time difference of {0} days", Math.abs(dayOffset)));
+                    lblMatches.setText(statusBarText.getText() + "<br>" + trn("(Time difference of {0} day)", "Time difference of {0} days", Math.abs(dayOffset), Math.abs(dayOffset)));
 
                     statusBarListener.updateStatusBar();
@@ -946,6 +948,6 @@
             if(imgs.size() <= 0) {
                 JOptionPane.showMessageDialog(Main.parent,
-                        tr("The selected photos don't contain time information."),
-                        tr("Photos don't contain time information"), JOptionPane.WARNING_MESSAGE);
+                        tr("The selected photos do not contain time information."),
+                        tr("Photos do not contain time information"), JOptionPane.WARNING_MESSAGE);
                 return;
             }
@@ -975,5 +977,5 @@
             if(firstGPXDate < 0) {
                 JOptionPane.showMessageDialog(Main.parent,
-                        tr("The selected GPX track doesn't contain timestamps. Please select another one."),
+                        tr("The selected GPX track does not contain timestamps. Please select another one."),
                         tr("GPX Track has no time information"), JOptionPane.WARNING_MESSAGE);
                 return;
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 2850)
@@ -318,6 +318,6 @@
                 i++;
             }
-        return data.size() + " " + trn("image", "images", data.size())
-        + " loaded. " + tr("{0} were found to be gps tagged.", i);
+        return trn("{0} image loaded.", "{0} images loaded.", data.size(), data.size())
+        + " " + trn("{0} was found to be GPS tagged.", "{0} were found to be GPS tagged.", i, i);
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticAuthorisationUI.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticAuthorisationUI.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticAuthorisationUI.java	(revision 2850)
@@ -236,5 +236,5 @@
         String lbl = tr("Accept Access Token");
         msg.setText(tr("<html>"
-                + "You''ve sucessfully retrieved an OAuth Access Token from the OSM website. "
+                + "You have sucessfully retrieved an OAuth Access Token from the OSM website. "
                 + "Click on <strong>{0}</strong> to accept the token. JOSM will use it in "
                 + "subsequent requests to gain access to the OSM API."
@@ -409,5 +409,5 @@
                 feedbackValid(tr("Please enter your OSM user name"));
             } else {
-                feedbackInvalid(tr("The user name can't be empty. Please enter your OSM user name"));
+                feedbackInvalid(tr("The user name cannot be empty. Please enter your OSM user name"));
             }
         }
@@ -430,5 +430,5 @@
                 feedbackValid(tr("Please enter your OSM password"));
             } else {
-                feedbackInvalid(tr("The password can't be empty. Please enter your OSM password"));
+                feedbackInvalid(tr("The password cannot be empty. Please enter your OSM password"));
             }
         }
@@ -472,8 +472,8 @@
                     tr("<html>"
                             + "The automatic process for retrieving an OAuth Access Token<br>"
-                            + "from the OSM server failed because JOSM wasn't able to build<br>"
+                            + "from the OSM server failed because JOSM was not able to build<br>"
                             + "a valid login URL from the OAuth Authorise Endpoint URL ''{0}''.<br><br>"
                             + "Please check your advanced setting and try again."
-                            +"</html>",
+                            + "</html>",
                             getAdvancedPropertiesPanel().getAdvancedParameters().getAuthoriseUrl()
                     ),
Index: trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticPropertiesPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticPropertiesPanel.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticPropertiesPanel.java	(revision 2850)
@@ -95,5 +95,5 @@
                 feedbackValid(tr("Please enter your OSM user name"));
             } else {
-                feedbackInvalid(tr("The user name can't be empty. Please enter your OSM user name"));
+                feedbackInvalid(tr("The user name cannot be empty. Please enter your OSM user name"));
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/oauth/ManualAuthorisationUI.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/ManualAuthorisationUI.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/ManualAuthorisationUI.java	(revision 2850)
@@ -55,10 +55,8 @@
         gc.insets = new Insets(0,0,5,0);
         pnlMessage= new HtmlPanel();
-        pnlMessage.setText(tr("<html><body>"
-                + "Please enter an OAuth Access Token which is authorised to access the OSM server "
-                + "''{0}''."
-                + "</body></html>",
-                getApiUrl()
-        ));
+        pnlMessage.setText("<html><body>"
+                + tr("Please enter an OAuth Access Token which is authorised to access the OSM server "
+                + "''{0}''.",
+                getApiUrl()) + "</body></html>");
         pnl.add(pnlMessage, gc);
 
Index: trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorisationClient.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorisationClient.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorisationClient.java	(revision 2850)
@@ -297,5 +297,5 @@
             String sessionId = extractOsmSession(connection);
             if (sessionId == null)
-                throw new OsmOAuthAuthorisationException(tr("OSM website didn''t reply a session cookie in response to ''{0}'',", url.toString()));
+                throw new OsmOAuthAuthorisationException(tr("OSM website did not return a session cookie in response to ''{0}'',", url.toString()));
             return sessionId;
         } catch(IOException e) {
Index: trunk/src/org/openstreetmap/josm/gui/oauth/SemiAutomaticAuthorisationUI.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/SemiAutomaticAuthorisationUI.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/SemiAutomaticAuthorisationUI.java	(revision 2850)
@@ -218,5 +218,5 @@
             gc.gridwidth = 2;
             HtmlPanel html = new HtmlPanel();
-            html.setText(tr("<html><body>"
+            html.setText(tr("<html>"
                     + "JOSM successfully retrieved a Request Token. "
                     + "JOSM is now launching an authorisation page in an external browser. "
@@ -225,5 +225,5 @@
                     + "<strong>{0}</strong><br><br>"
                     + "If launching the external browser fails you can copy the following authorise URL "
-                    + "and paste it into the address field of your browser.",
+                    + "and paste it into the address field of your browser.</html>",
                     tr("Request Access Token")
             ));
@@ -304,9 +304,9 @@
             gc.weightx = 1.0;
             HtmlPanel html = new HtmlPanel();
-            html.setText(tr("<html><body>"
+            html.setText(tr("<html>"
                     + "JOSM has successfully retrieved an Access Token. "
-                    + "You can now accept this token. JOSM will used it the future for authentication "
-                    + "and authorisation at the OSM server.<br><br>"
-                    + "The access token is: "
+                    + "You can now accept this token. JOSM will use it in the future for authentication "
+                    + "and authorisation to the OSM server.<br><br>"
+                    + "The access token is: </html>"
             ));
             pnl.add(html, gc);
Index: trunk/src/org/openstreetmap/josm/gui/oauth/TestAccessTokenTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/TestAccessTokenTask.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/TestAccessTokenTask.java	(revision 2850)
@@ -118,5 +118,5 @@
 
             if (connection.getResponseCode() == HttpURLConnection.HTTP_FORBIDDEN)
-                throw new OsmApiException(HttpURLConnection.HTTP_FORBIDDEN, tr("Retrieving user details with Access Token Key ''{0}'' was forbidded.", token.getKey()), null);
+                throw new OsmApiException(HttpURLConnection.HTTP_FORBIDDEN, tr("Retrieving user details with Access Token Key ''{0}'' was forbidden.", token.getKey()), null);
 
             if (connection.getResponseCode() != HttpURLConnection.HTTP_OK)
@@ -145,6 +145,6 @@
                         + "Successfully used the Access Token ''{0}'' to<br>"
                         + "access the OSM server at ''{1}''.<br>"
-                        + "You''re accessing the OSM server as user ''{2}'' with id ''{3}''."
-                        +"</html>",
+                        + "You are accessing the OSM server as user ''{2}'' with id ''{3}''."
+                        + "</html>",
                         token.getKey(),
                         apiUrl,
@@ -235,6 +235,6 @@
                 tr("<html>"
                         + "The test failed because the server responded with an internal error.<br>"
-                        + "JOSM couldn''t decide whether the token is valid. Please try again later."
-                        +"</html>",
+                        + "JOSM could not decide whether the token is valid. Please try again later."
+                        + "</html>",
                         apiUrl,
                         token.getKey()
Index: trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/progress/SwingRenderingProgressMonitor.java	(revision 2850)
@@ -3,4 +3,7 @@
 
 import javax.swing.SwingUtilities;
+
+import org.openstreetmap.josm.tools.CheckParameterUtil;
+
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -24,6 +27,5 @@
     public SwingRenderingProgressMonitor(ProgressRenderer delegate) {
         super(new CancelHandler());
-        if (delegate == null)
-            throw new IllegalArgumentException(tr("Parameter ''{0}'' must not be null.", "delegate"));
+        CheckParameterUtil.ensureParameterNotNull(delegate, "delegate");
         this.delegate = delegate;
     }
Index: trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java	(revision 2849)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java	(revision 2850)
@@ -158,5 +158,5 @@
                 value = Double.parseDouble(getComponent().getText());
             } catch(NumberFormatException ex) {
-                feedbackInvalid(tr("The string ''{0}'' isn''t a valid double value.", getComponent().getText()));
+                feedbackInvalid(tr("The string ''{0}'' is not a valid double value.", getComponent().getText()));
                 return;
             }
@@ -198,5 +198,5 @@
                 value = Double.parseDouble(getComponent().getText());
             } catch(NumberFormatException ex) {
-                feedbackInvalid(tr("The string ''{0}'' isn''t a valid double value.", getComponent().getText()));
+                feedbackInvalid(tr("The string ''{0}'' is not a valid double value.", getComponent().getText()));
                 return;
             }
