Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbDownloadLoop.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbDownloadLoop.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbDownloadLoop.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.geom.Point2D;
 import java.util.concurrent.TimeUnit;
@@ -48,5 +50,5 @@
 	
 	public OsbDownloadLoop() {
-	    setName("OpenStreetBugs download loop");
+	    setName(tr("OpenStreetBugs download loop"));
 		start();
 	}
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbLayer.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbLayer.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbLayer.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.Component;
 import java.awt.Graphics;
@@ -57,5 +59,4 @@
 import org.openstreetmap.josm.plugins.osb.gui.action.OsbAction;
 import org.openstreetmap.josm.plugins.osb.gui.action.PopupFactory;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 import org.openstreetmap.josm.tools.ColorHelper;
 
@@ -98,5 +99,5 @@
 	@Override
 	public String getToolTipText() {
-		return Messages.translate(getClass(), "tooltip");
+		return tr("Displays OpenStreetBugs issues");
 	}
 
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbPlugin.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbPlugin.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbPlugin.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbUploadHook.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbUploadHook.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbUploadHook.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.util.Collection;
 import java.util.Iterator;
@@ -47,7 +49,7 @@
 		if(containsOsbData) {
 			JOptionPane.showMessageDialog(Main.parent, 
-				"<html>The selected data contains data from OpenStreetBugs.<br>" +
-				"You cannot upload these data. Maybe you have selected the wrong layer?", 
-				"Warning", JOptionPane.WARNING_MESSAGE);
+				tr("<html>The selected data contains data from OpenStreetBugs.<br>" +
+				"You cannot upload these data. Maybe you have selected the wrong layer?"), 
+				tr("Warning"), JOptionPane.WARNING_MESSAGE);
 			return false;
 		} else {
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/CloseAction.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/CloseAction.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/CloseAction.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.api;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.io.IOException;
 
@@ -36,5 +38,4 @@
 import org.openstreetmap.josm.plugins.osb.ConfigKeys;
 import org.openstreetmap.josm.plugins.osb.api.util.HttpUtils;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 
 public class CloseAction {
@@ -61,6 +62,6 @@
 		} else {
 			JOptionPane.showMessageDialog(Main.parent,
-					Messages.translate(getClass(), "error_occured", new Object[] {result}),
-					Messages.translate(getClass(), "error_occured_title"),
+					tr("An error occured: {0}", new Object[] {result}),
+					tr("Error"),
 					JOptionPane.ERROR_MESSAGE);
 		}
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/EditAction.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/EditAction.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/EditAction.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.api;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.io.IOException;
 import java.net.URLEncoder;
@@ -37,5 +39,4 @@
 import org.openstreetmap.josm.plugins.osb.ConfigKeys;
 import org.openstreetmap.josm.plugins.osb.api.util.HttpUtils;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 
 public class EditAction {
@@ -66,6 +67,6 @@
 		} else {
 			JOptionPane.showMessageDialog(Main.parent,
-					Messages.translate(getClass(), "error_occured", new Object[] {result}),
-					Messages.translate(getClass(), "error_occured_title"),
+					tr("An error occured: {0}", new Object[] {result}),
+					tr("Error"),
 					JOptionPane.ERROR_MESSAGE);
 		}
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/NewAction.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/NewAction.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/NewAction.java	(revision 12588)
@@ -27,4 +27,6 @@
  */
 package org.openstreetmap.josm.plugins.osb.api;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Point;
@@ -72,5 +74,5 @@
 			id = m.group(1);
 		} else {
-			throw new RuntimeException("Couldn't create new bug. Result: " + result);
+			throw new RuntimeException(tr("Couldn't create new bug. Result: {0}" + result));
 		}
 		
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/util/HttpUtils.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/util/HttpUtils.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/api/util/HttpUtils.java	(revision 12588)
@@ -27,4 +27,6 @@
  */
 package org.openstreetmap.josm.plugins.osb.api.util;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.ByteArrayOutputStream;
@@ -165,5 +167,5 @@
             return value.get(0);
         } else {
-            throw new RuntimeException("Header contains several values and cannot be mapped to a single String");
+            throw new RuntimeException(tr("Header contains several values and cannot be mapped to a single String"));
         }
     }
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/OsbDialog.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/OsbDialog.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/OsbDialog.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.gui;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.BorderLayout;
 import java.awt.GridLayout;
@@ -72,5 +74,4 @@
 import org.openstreetmap.josm.plugins.osb.gui.action.OsbActionObserver;
 import org.openstreetmap.josm.plugins.osb.gui.action.PopupFactory;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -89,10 +90,10 @@
 	
 	public OsbDialog(final OsbPlugin plugin) {
-		super("OpenStreetBugs", "icon_error22", 
-				Messages.translate(OsbDialog.class, "tooltip"), 
+		super(tr("Open OpenStreetBugs"), "icon_error22", 
+				tr("Open the OpenStreetBugs window and activates the automatic download"),
 				Shortcut.registerShortcut(
-						Messages.translate(OsbDialog.class, "shortcut"), 
-						Messages.translate(OsbDialog.class, "shortcut"), 
-						KeyEvent.VK_O, Shortcut.GROUP_MENU), 
+						"view:openstreetbugs",
+						tr("Toggle: {0}", tr("Open OpenStreetBugs")),
+						KeyEvent.VK_O, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT), 
 				150);
 		
@@ -110,6 +111,6 @@
 		JPanel buttonPanel = new JPanel(new GridLayout(2, 2));
 		add(buttonPanel, BorderLayout.SOUTH);
-		refresh = new JButton(Messages.translate(OsbDialog.class, "refresh"));
-		refresh.setToolTipText(Messages.translate(OsbDialog.class, "refresh"));
+		refresh = new JButton(tr("Refresh"));
+		refresh.setToolTipText(tr("Refresh"));
 		refresh.setIcon(OsbPlugin.loadIcon("view-refresh22.png"));
 		refresh.setHorizontalAlignment(SwingConstants.LEFT);
@@ -120,6 +121,6 @@
 				if(Main.map.mapView.zoom() > 15 || Main.map.mapView.zoom() < 9) {
 					JOptionPane.showMessageDialog(Main.parent, 
-							Messages.translate(OsbDialog.class, "out_of_bounds"),
-							Messages.translate(OsbDialog.class, "out_of_bounds_title"), 
+							tr("The visible area is either too small or too big to download data from OpenStreetBugs"),
+							tr("Warning"),
 							JOptionPane.INFORMATION_MESSAGE);
 					return;
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/AddCommentAction.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/AddCommentAction.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/AddCommentAction.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.gui.action;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.event.ActionEvent;
 
@@ -35,5 +37,4 @@
 import org.openstreetmap.josm.plugins.osb.ConfigKeys;
 import org.openstreetmap.josm.plugins.osb.api.EditAction;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 
 public class AddCommentAction extends OsbAction {
@@ -44,5 +45,5 @@
 	
 	public AddCommentAction() {
-		super(Messages.translate(AddCommentAction.class, "name"));
+		super(tr("Add a comment"));
 	}
 	
@@ -52,7 +53,7 @@
 		String nickname = Main.pref.get(ConfigKeys.OSB_NICKNAME);
 		if(nickname == null || nickname.length() == 0) {
-			nickname = JOptionPane.showInputDialog(Main.parent, Messages.translate(getClass(), "enter_nickname"));
+			nickname = JOptionPane.showInputDialog(Main.parent, tr("Please enter a user name"));
 			if(nickname == null) {
-				nickname = "NoName";
+				nickname = tr("NoName");
 			} else {
 				Main.pref.put(ConfigKeys.OSB_NICKNAME, nickname);
@@ -60,5 +61,5 @@
 		}
 		
-		String comment = JOptionPane.showInputDialog(Main.parent, Messages.translate(getClass(), "enter_comment"));
+		String comment = JOptionPane.showInputDialog(Main.parent, tr("Enter your comment"));
 		if(comment != null) {
 			comment = comment.concat(" [").concat(nickname).concat("]");
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/CloseIssueAction.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/CloseIssueAction.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/CloseIssueAction.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.gui.action;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.event.ActionEvent;
 import java.io.IOException;
@@ -35,5 +37,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.plugins.osb.api.CloseAction;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 
 public class CloseIssueAction extends OsbAction {
@@ -44,5 +45,5 @@
 	
 	public CloseIssueAction() {
-		super(Messages.translate(CloseIssueAction.class, "name"));
+		super(tr("Mark as done"));
 	}
 	
@@ -50,6 +51,6 @@
 	protected void doActionPerformed(ActionEvent e) throws IOException {
 		int result = JOptionPane.showConfirmDialog(Main.parent,
-				Messages.translate(getClass(), "question"),
-				Messages.translate(getClass(), "title"),
+				tr("Really mark this issue as ''done''?"),
+				tr("Really close?"),
 				JOptionPane.YES_NO_OPTION);
 		
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/NewIssueAction.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/NewIssueAction.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/NewIssueAction.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.gui.action;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.Cursor;
 import java.awt.event.ActionEvent;
@@ -42,5 +44,4 @@
 import org.openstreetmap.josm.plugins.osb.OsbPlugin;
 import org.openstreetmap.josm.plugins.osb.api.NewAction;
-import org.openstreetmap.josm.plugins.osb.i18n.Messages;
 
 public class NewIssueAction extends OsbAction implements MouseListener {
@@ -55,5 +56,5 @@
 	
 	public NewIssueAction(JToggleButton button, OsbPlugin plugin) {
-		super(Messages.translate(NewIssueAction.class, "name"));
+		super(tr("New issue"));
 		this.button = button;
 		this.plugin = plugin;
@@ -92,5 +93,5 @@
 		String nickname = Main.pref.get(ConfigKeys.OSB_NICKNAME);
 		if(nickname == null || nickname.length() == 0) {
-			nickname = JOptionPane.showInputDialog(Main.parent, Messages.translate(AddCommentAction.class, "enter_nickname"));
+			nickname = JOptionPane.showInputDialog(Main.parent, tr("Please enter a user name"));
 			if(nickname == null) {
 				nickname = "NoName";
@@ -102,6 +103,6 @@
 		// get the comment
 		String result = JOptionPane.showInputDialog(Main.parent,
-				Messages.translate(getClass(), "question"),
-				Messages.translate(getClass(), "title"),
+				tr("Describe the problem precisely"),
+				tr("Create issue"),
 				JOptionPane.QUESTION_MESSAGE);
 		
@@ -119,6 +120,6 @@
 				e1.printStackTrace();
 				JOptionPane.showMessageDialog(Main.parent,
-						Messages.translate(getClass(), "error_occured", new Object[] {result}),
-						Messages.translate(getClass(), "error_occured_title"),
+						tr("An error occured: {0}", new Object[] {result}),
+						tr("Error"),
 						JOptionPane.ERROR_MESSAGE);
 			}
Index: applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/PopupFactory.java
===================================================================
--- applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/PopupFactory.java	(revision 12476)
+++ applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/PopupFactory.java	(revision 12588)
@@ -28,4 +28,6 @@
 package org.openstreetmap.josm.plugins.osb.gui.action;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
@@ -45,5 +47,5 @@
 			return getFixedPopup();
 		} else {
-			throw new RuntimeException("Unknown issue state");
+			throw new RuntimeException(tr("Unknown issue state"));
 		}
 	}
