Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/CalibrationLayer.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/CalibrationLayer.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/CalibrationLayer.java	(revision 29430)
@@ -41,4 +41,5 @@
     @Override
     public void paint( Graphics2D g, MapView mv, Bounds box ) {
+        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
         Stroke oldStroke = g.getStroke();
         g.setColor(color);
@@ -98,10 +99,8 @@
     @Override
     public String getToolTipText() {
-        if(obj.isDeprecated())
-            return tr("A deprecated calibration of type {0} by {1}",
-                OffsetInfoAction.getGeometryType(obj), obj.getAuthor());
+        if( obj.isDeprecated() )
+            return tr("A deprecated calibration {0} by {1}", OffsetInfoAction.getGeometryType(obj), obj.getAuthor());
         else
-            return tr("A calibration of type {0} by {1}",
-                OffsetInfoAction.getGeometryType(obj), obj.getAuthor());
+            return tr("A calibration {0} by {1}", OffsetInfoAction.getGeometryType(obj), obj.getAuthor());
     }
 
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/DeprecateOffsetAction.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/DeprecateOffsetAction.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/DeprecateOffsetAction.java	(revision 29430)
@@ -45,5 +45,5 @@
                 tr("Are you sure this calibration geometry is aligned badly?");
         if( JOptionPane.showConfirmDialog(Main.parent,
-                tr("Warning: deprecation is basically irreversible!\n{0}", desc),
+                tr("Warning: deprecation is basically irreversible!")+ "\n" + desc,
                 ImageryOffsetTools.DIALOG_TITLE, JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) != JOptionPane.YES_OPTION ) {
             return;
@@ -78,6 +78,6 @@
         }
 
-        String message = "Please enter the reason why you mark this "
-                + (offset instanceof ImageryOffset ? "imagery offset" : "calibraion geometry") + " as deprecated:";
+        String message = tr("Please enter the reason why you mark {0} as deprecated",
+                offset instanceof ImageryOffset ? tr("this imagery offset") : tr("this calibration geometry")) + ":";
         String reason = StoreImageryOffsetAction.queryDescription(message);
         if( reason == null )
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/GetImageryOffsetAction.java	(revision 29430)
@@ -159,5 +159,5 @@
                 offsets = new IODBReader(inp).parse();
             } catch( Exception e ) {
-                throw new UploadException("Error processing XML response: " + e.getMessage());
+                throw new UploadException(tr("Error processing XML response") + ": " + e.getMessage());
             }
         }
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/IODBReader.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/IODBReader.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/IODBReader.java	(revision 29430)
@@ -225,5 +225,5 @@
             if( geometry.isEmpty() ) {
                 if( imagery == null || imageryPos == null )
-                    throw new IllegalArgumentException("Both imagery and imageryPos should be sepcified for the offset");
+                    throw new IllegalArgumentException("Both imagery and imageryPos should be specified for the offset");
                 result = new ImageryOffset(imagery, imageryPos);
                 if( minZoom >= 0 )
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetPlugin.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetPlugin.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetPlugin.java	(revision 29430)
@@ -40,6 +40,4 @@
         offsetMenu.add(getAction);
         offsetMenu.add(storeAction);
-        if( version >= 5803 ) // todo: check if this is needed
-            offsetMenu.addSeparator();
 
         // an ugly hack to add this plugin to the toolbar
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/ImageryOffsetTools.java	(revision 29430)
@@ -21,5 +21,5 @@
      * A title for all dialogs created in this plugin.
      */
-    public static final String DIALOG_TITLE = tr("Imagery Offset");
+    public static final String DIALOG_TITLE = tr("Imagery Offset Database");
     
     /**
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialogButton.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialogButton.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetDialogButton.java	(revision 29430)
@@ -77,8 +77,10 @@
         descriptionLabel.setFont(descriptionFont);
 
+        OffsetIcon offsetIcon = new OffsetIcon(offset);
         double offsetDistance = offset instanceof ImageryOffset
-                ? ((ImageryOffset)offset).getImageryPos().greatCircleDistance(offset.getPosition()) : 0.0;
-        JLabel offsetLabel = new JLabel(offsetDistance > 1 ? ImageryOffsetTools.formatDistance(offsetDistance) : "",
-                new OffsetIcon(offset), SwingConstants.CENTER);
+                ? offsetIcon.getDistance() : 0.0;
+//                ? ((ImageryOffset)offset).getImageryPos().greatCircleDistance(offset.getPosition()) : 0.0;
+        JLabel offsetLabel = new JLabel(offsetDistance > 0.2 ? ImageryOffsetTools.formatDistance(offsetDistance) : "",
+                offsetIcon, SwingConstants.CENTER);
         Font offsetFont = new Font(offsetLabel.getFont().getName(), Font.PLAIN, offsetLabel.getFont().getSize() - 2);
         offsetLabel.setFont(offsetFont);
@@ -150,5 +152,5 @@
         private boolean isCalibration;
         private double direction = -1.0;
-        private double length;
+        private double distance;
         private ImageIcon background;
 
@@ -163,9 +165,13 @@
                 background = ImageProvider.get("offset");
                 double[] ld = getLengthAndDirection((ImageryOffset)offset);
-                length = ld[0];
+                distance = ld[0];
                 direction = ld[1];
             } else {
                 background = ImageProvider.get("calibration");
             }
+        }
+
+        public double getDistance() {
+            return distance;
         }
 
@@ -181,10 +187,10 @@
                 g2.setColor(Color.black);
                 Point c = new Point(x + getIconWidth() / 2, y + getIconHeight() / 2);
-                if( length < 1e-2 ) {
+                if( distance < 1e-2 ) {
                     // no offset
                     g2.fillOval(c.x - 3, c.y - 3, 7, 7);
                 } else {
                     // draw an arrow
-                    double arrowLength = length < 10 ? getIconWidth() / 2 - 1 : getIconWidth() - 4;
+                    double arrowLength = distance < 10 ? getIconWidth() / 2 - 1 : getIconWidth() - 4;
                     g2.setStroke(new BasicStroke(2));
                     drawArrow(g2, c.x, c.y, arrowLength, direction);
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetInfoAction.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetInfoAction.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/OffsetInfoAction.java	(revision 29430)
@@ -48,5 +48,5 @@
                 // ask for a reason
                 Object reason = JOptionPane.showInputDialog(Main.parent,
-                        tr("You are to notify moderators of this offset. Why they should look into this case?"),
+                        tr("You are to notify moderators of this offset. Why?"),
                         ImageryOffsetTools.DIALOG_TITLE, JOptionPane.PLAIN_MESSAGE);
                 if( reason != null && reason.toString().length() > 0 ) {
@@ -76,5 +76,5 @@
             sb.append(tr("Imagery ID")).append(": ").append(((ImageryOffset)offset).getImagery()).append('\n');
         } else {
-            sb.append(tr("A calibration of type {0}", getGeometryType((CalibrationObject)offset))).append('\n');
+            sb.append(tr("A calibration {0}", getGeometryType((CalibrationObject)offset))).append('\n');
         }
         
@@ -108,5 +108,5 @@
     public static String getGeometryType( CalibrationObject obj ) {
         if( obj.getGeometry() == null )
-            return tr("nothing");
+            return "nothing"; // meant never to happen, so no translation
         int n = obj.getGeometry().length;
         if( n == 1 )
@@ -117,5 +117,5 @@
             return tr("polygon ({0} nodes)", n - 1);
         else
-            return tr("geometry");
+            return "geometry"; // meant never to happen, so no translation
     }
 }
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/SimpleOffsetQueryTask.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/SimpleOffsetQueryTask.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/SimpleOffsetQueryTask.java	(revision 29430)
@@ -30,5 +30,5 @@
      */
     public SimpleOffsetQueryTask( String query, String title ) {
-        super(tr("Uploading"));
+        super(ImageryOffsetTools.DIALOG_TITLE);
         this.query = query;
         this.title = title;
@@ -121,5 +121,6 @@
     protected void finish() {
         if( errorMessage != null ) {
-            JOptionPane.showMessageDialog(Main.parent, errorMessage, tr("Imagery Offset"), JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(Main.parent, errorMessage,
+                    ImageryOffsetTools.DIALOG_TITLE, JOptionPane.ERROR_MESSAGE);
         } else if( listener != null ) {
             listener.queryPassed();
Index: applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java
===================================================================
--- applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java	(revision 29429)
+++ applications/editors/josm/plugins/imagery_offset_db/src/iodb/StoreImageryOffsetAction.java	(revision 29430)
@@ -27,5 +27,5 @@
     public StoreImageryOffsetAction() {
         super(tr("Store Imagery Offset..."), "storeoffset",
-                tr("Upload an offset for current imagery (or calibration object information) to a server"),
+                tr("Upload an offset for current imagery (or calibration object geometry) to a server"),
                 null, true);
     }
@@ -49,5 +49,7 @@
         String userName = JosmUserIdentityManager.getInstance().getUserName();
         if( userName == null || userName.length() == 0 ) {
-            JOptionPane.showMessageDialog(Main.parent, tr("To store imagery offsets you must be a registered OSM user."), ImageryOffsetTools.DIALOG_TITLE, JOptionPane.ERROR_MESSAGE);
+            JOptionPane.showMessageDialog(Main.parent,
+                    tr("To store imagery offsets you must be a registered OSM user."),
+                    ImageryOffsetTools.DIALOG_TITLE, JOptionPane.ERROR_MESSAGE);
             return;
         }
@@ -82,16 +84,17 @@
             if( Math.abs(layer.getDx()) < 1e-8 && Math.abs(layer.getDy()) < 1e-8 ) {
                 if( JOptionPane.showConfirmDialog(Main.parent,
-                        tr("The topmost imagery layer has no offset. Are you sure you want to upload it?"), ImageryOffsetTools.DIALOG_TITLE, JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION )
+                        tr("The topmost imagery layer has no offset. Are you sure you want to upload this?"),
+                        ImageryOffsetTools.DIALOG_TITLE, JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION )
                     return;
             }
             LatLon offset = ImageryOffsetTools.getLayerOffset(layer, center);
             offsetObj = new ImageryOffset(ImageryOffsetTools.getImageryID(layer), offset);
-            message = "You are registering an imagery offset. Other users in this area will be able to use it for mapping.\n"
-                    + "Please make sure it is as precise as possible, and describe a region this offset is applicable to.";
+            message = tr("You are registering an imagery offset. Other users in this area will be able to use it for mapping.\n"
+                    + "Please make sure it is as precise as possible, and describe a region this offset is applicable to.");
         } else {
             // register calibration object
             offsetObj = new CalibrationObject(calibration);
-            message = "You are registering a calibration geometry. It should be the most precisely positioned object, with\n"
-                    + "clearly visible boundaries on various satellite imagery. Please describe this object and its whereabouts.";
+            message = tr("You are registering a calibration geometry. It should be the most precisely positioned object, with\n"
+                    + "clearly visible boundaries on various satellite imagery. Please describe this object and its whereabouts.");
         }
         String description = queryDescription(message);
@@ -114,5 +117,5 @@
                 query.append(key).append('=').append(URLEncoder.encode(params.get(key), "UTF8"));
             }
-            Main.main.worker.submit(new SimpleOffsetQueryTask(query.toString(), tr("Uploading the new offset...")));
+            Main.main.worker.submit(new SimpleOffsetQueryTask(query.toString(), tr("Uploading a new offset...")));
         } catch( UnsupportedEncodingException ex ) {
             // WTF
