Index: src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/AboutAction.java	(revision 301)
+++ src/org/openstreetmap/josm/actions/AboutAction.java	(revision 302)
@@ -1,3 +1,3 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
+//License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.actions;
 
@@ -14,8 +14,12 @@
 import java.io.InputStreamReader;
 import java.net.URL;
+import java.util.Map.Entry;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import javax.swing.AbstractAction;
 import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.JButton;
 import javax.swing.JLabel;
 import javax.swing.JOptionPane;
@@ -67,5 +71,4 @@
 		JTextArea readme = loadFile(Main.class.getResource("/README"));
 		JTextArea contribution = loadFile(Main.class.getResource("/CONTRIBUTION"));
-		JTextArea plugins = loadFile(null);
 
 		JPanel info = new JPanel(new GridBagLayout());
@@ -81,15 +84,35 @@
 		info.add(new UrlLabel("http://www.opengeodata.org/?cat=17"), GBC.eol().fill(GBC.HORIZONTAL));
 
-		StringBuilder pluginsStr = new StringBuilder();
-		for (PluginProxy p : Main.plugins)
-			pluginsStr.append(p.info.name + "\n");
-		plugins.setText(pluginsStr.toString());
-		plugins.setCaretPosition(0);
-
 		about.addTab(tr("Info"), info);
 		about.addTab(tr("Readme"), createScrollPane(readme));
 		about.addTab(tr("Revision"), createScrollPane(revision));
 		about.addTab(tr("Contribution"), createScrollPane(contribution));
-		about.addTab(tr("Plugins"), createScrollPane(plugins));
+
+		JPanel pluginTab = new JPanel(new GridBagLayout());
+		for (final PluginProxy p : Main.plugins) {
+			String name = p.info.name + (p.info.version != null && !p.info.version.equals("") ? " Version: "+p.info.version : "");
+			pluginTab.add(new JLabel(name), GBC.std());
+			pluginTab.add(Box.createHorizontalGlue(), GBC.std().fill(GBC.HORIZONTAL));
+			pluginTab.add(new JButton(new AbstractAction(tr("Information")){
+				public void actionPerformed(ActionEvent event) {
+					StringBuilder b = new StringBuilder();
+					for (Entry<String,String> e : p.info.attr.entrySet()) {
+						b.append(e.getKey());
+						b.append(": ");
+						b.append(e.getValue());
+						b.append("\n");
+					}
+					JTextArea a = new JTextArea(10,40);
+					a.setEditable(false);
+					a.setText(b.toString());
+					JOptionPane.showMessageDialog(Main.parent, new JScrollPane(a));
+				}
+			}), GBC.eol());
+			JLabel label = new JLabel("<html><i>"+(p.info.description==null?tr("no description available"):p.info.description)+"</i></html>");
+			label.setBorder(BorderFactory.createEmptyBorder(0,20,0,0));
+			label.setMaximumSize(new Dimension(450,1000));
+			pluginTab.add(label, GBC.eop().fill(GBC.HORIZONTAL));
+		}
+		about.addTab(tr("Plugins"), pluginTab);
 
 		about.setPreferredSize(new Dimension(500,300));
@@ -102,9 +125,9 @@
 		area.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 		area.setOpaque(false);
-	    JScrollPane sp = new JScrollPane(area);
+		JScrollPane sp = new JScrollPane(area);
 		sp.setBorder(null);
 		sp.setOpaque(false);
-	    return sp;
-    }
+		return sp;
+	}
 
 	/**
@@ -114,15 +137,15 @@
 	 */
 	public static String checkLatestVersion() {
-        String latest;
-        try {
-        	InputStream s = new URL("http://josm.openstreetmap.de/current").openStream();
-        	latest = new BufferedReader(new InputStreamReader(s)).readLine();
-        	s.close();
-        } catch (IOException x) {
-        	x.printStackTrace();
-        	return "UNKNOWN";
-        }
-        return latest;
-    }
+		String latest;
+		try {
+			InputStream s = new URL("http://josm.openstreetmap.de/current").openStream();
+			latest = new BufferedReader(new InputStreamReader(s)).readLine();
+			s.close();
+		} catch (IOException x) {
+			x.printStackTrace();
+			return "UNKNOWN";
+		}
+		return latest;
+	}
 
 	/**
Index: src/org/openstreetmap/josm/gui/preferences/PluginPreference.java
===================================================================
--- src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 301)
+++ src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 302)
@@ -79,5 +79,5 @@
 		plugin.add(pluginPane, GBC.eol().fill(GBC.BOTH));
 		plugin.add(GBC.glue(0,10), GBC.eol());
-		JButton morePlugins = new JButton(tr("Get more plugins"));
+		JButton morePlugins = new JButton(tr("Check for plugins"));
 		morePlugins.addActionListener(new ActionListener(){
 			public void actionPerformed(ActionEvent e) {
@@ -201,5 +201,5 @@
 
 			pluginCheck.setToolTipText(plugin.resource != null ? plugin.resource : tr("Plugin bundled with JOSM"));
-			JLabel label = new JLabel("<html><i>"+(plugin.description==null?"no description available":plugin.description)+"</i></html>");
+			JLabel label = new JLabel("<html><i>"+(plugin.description==null?tr("no description available"):plugin.description)+"</i></html>");
 			label.setBorder(BorderFactory.createEmptyBorder(0,20,0,0));
 			label.setMaximumSize(new Dimension(450,1000));
