Index: trunk/src/org/openstreetmap/josm/actions/AddNodeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AddNodeAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/AddNodeAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.GridBagLayout;
@@ -30,4 +31,5 @@
                 Shortcut.registerShortcut("addnode", tr("Edit: {0}", tr("Add Node...")), KeyEvent.VK_D, Shortcut.GROUP_EDIT,
                         Shortcut.SHIFT_DEFAULT), true);
+        putValue("help", ht("/Action/AddNode"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -37,4 +38,5 @@
                 Shortcut.registerShortcut("tools:aligncircle", tr("Tool: {0}", tr("Align Nodes in Circle")),
                         KeyEvent.VK_O, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/AlignInCircle"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -32,4 +33,5 @@
         super(tr("Align Nodes in Line"), "alignline", tr("Move the selected nodes in to a line."),
                 Shortcut.registerShortcut("tools:alignline", tr("Tool: {0}", tr("Align Nodes in Line")), KeyEvent.VK_L, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/AlignInLine"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.marktr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -58,4 +59,15 @@
         putValue("help", "Action/AutoScale/" + modeHelp);
         this.mode = mode;
+        if (mode.equals("data")) {
+            putValue("help", ht("/Action/ZoomToData"));
+        } else if (mode.equals("layer")) {
+            putValue("help", ht("/Action/ZoomToLayer"));
+        } else if (mode.equals("selection")) {
+            putValue("help", ht("/Action/ZoomToSelection"));
+        } else if (mode.equals("conflict")) {
+            putValue("help", ht("/Action/ZoomToConflict"));
+        }else if (mode.equals("download")) {
+            putValue("help", ht("/Action/ZoomToDownload"));
+        }       		
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/CloseChangesetAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CloseChangesetAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/CloseChangesetAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -41,4 +42,5 @@
                 true
         );
+        putValue("help", ht("/Action/CloseChangeset"));
 
     }
Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.gui.conflict.tags.TagConflictResolutionUtil.combineTigerTags;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.gui.conflict.tags.TagConflictResolutionUtil.completeTagCollectionForEditing;
 import static org.openstreetmap.josm.gui.conflict.tags.TagConflictResolutionUtil.normalizeTagCollectionBeforeEditing;
@@ -48,4 +49,5 @@
         super(tr("Combine Way"), "combineway", tr("Combine several ways into one."),
                 Shortcut.registerShortcut("tools:combineway", tr("Tool: {0}", tr("Combine Way")), KeyEvent.VK_C, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/CombineWay"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/CopyAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CopyAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/CopyAction.java	(revision 2323)
@@ -4,4 +4,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -24,4 +25,5 @@
                 tr("Copy selected objects to paste buffer."),
                 Shortcut.registerShortcut("system:copy", tr("Edit: {0}", tr("Copy")), KeyEvent.VK_C, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/Copy"));
         listeners = new LinkedList<JosmAction>();
     }
Index: trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -44,4 +45,5 @@
         super(tr("Create Circle"), "createcircle", tr("Create a circle from three selected nodes."),
                 Shortcut.registerShortcut("tools:createcircle", tr("Tool: {0}", tr("Create Circle")), KeyEvent.VK_O, Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);
+        putValue("help", ht("/Action/CreateCircle"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/DeleteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DeleteAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/DeleteAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -17,4 +18,5 @@
         super(tr("Delete"), "dialogs/delete", tr("Delete selected objects."),
                 Shortcut.registerShortcut("system:delete", tr("Edit: {0}", tr("Delete")), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT), true);
+        putValue("help", ht("/Action/Delete"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/DistributeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DistributeAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/DistributeAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -30,4 +31,5 @@
         super(tr("Distribute Nodes"), "distribute", tr("Distribute the selected nodes to equal distances along a line."),
                 Shortcut.registerShortcut("tools:distribute", tr("Tool: {0}", tr("Distribute Nodes")), KeyEvent.VK_B, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/Distribute"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/DownloadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.BorderLayout;
@@ -8,5 +9,4 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
-import java.util.List;
 import java.util.concurrent.Future;
 
@@ -17,8 +17,6 @@
 import org.openstreetmap.josm.actions.downloadtasks.DownloadTask;
 import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler;
-import org.openstreetmap.josm.gui.ExceptionDialogUtil;
 import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.download.DownloadDialog;
-import org.openstreetmap.josm.tools.ExceptionUtil;
 import org.openstreetmap.josm.tools.Shortcut;
 import org.openstreetmap.josm.tools.WindowGeometry;
@@ -39,4 +37,5 @@
         super(tr("Download from OSM..."), "download", tr("Download map data from the OSM server."),
                 Shortcut.registerShortcut("file:download", tr("File: {0}", tr("Download from OSM...")), KeyEvent.VK_D, Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY), true);
+        putValue("help", ht("/Action/Download"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -39,4 +40,5 @@
         super(tr("Download parent ways/relations..."), "downloadreferrers", tr("Download primitives referring to one of the selected primitives"),
                 Shortcut.registerShortcut("file:downloadreferrers", tr("File: {0}", tr("Download parent ways/relations...")), KeyEvent.VK_D, Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY), true);
+        putValue("help", ht("/Action/Downloadreferrers"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/DuplicateAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DuplicateAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/DuplicateAction.java	(revision 2323)
@@ -4,4 +4,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -19,4 +20,5 @@
                 tr("Duplicate selection by copy and immediate paste."),
                 Shortcut.registerShortcut("system:duplicate", tr("Edit: {0}", tr("Duplicate")), KeyEvent.VK_D, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/Duplicate"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/ExitAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ExitAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/ExitAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -22,4 +23,5 @@
         super(tr("Exit"), "exit", tr("Exit the application."),
                 Shortcut.registerShortcut("system:menuexit", tr("Exit"), KeyEvent.VK_Q, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/Exit"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/GpxExportAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.actions.SaveActionBase.createAndOpenSaveFileChooser;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -28,4 +29,5 @@
         super(tr("Export to GPX..."), "exportgpx", tr("Export the data to GPX file."),
                 Shortcut.registerShortcut("file:exportgpx", tr("Export to GPX..."), KeyEvent.VK_E, Shortcut.GROUP_MENU));
+        putValue("help", ht("/Action/GpxExport"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/HelpAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/HelpAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/HelpAction.java	(revision 2323)
@@ -35,4 +35,5 @@
                     c = SwingUtilities.getDeepestComponentAt(c, mouse.x, mouse.y);
                     topic = HelpUtil.getContextSpecificHelpTopic(c);
+                    System.out.println("topic is:" + topic);
                 } else {
                     topic = null;
@@ -41,4 +42,5 @@
                 Point mouse = Main.parent.getMousePosition();
                 topic = HelpUtil.getContextSpecificHelpTopic(SwingUtilities.getDeepestComponentAt(Main.parent, mouse.x, mouse.y));
+                System.out.println("topic is:" + topic);
             }
             if (topic == null) {
Index: trunk/src/org/openstreetmap/josm/actions/HistoryInfoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/HistoryInfoAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/HistoryInfoAction.java	(revision 2323)
@@ -9,4 +9,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.tools.Shortcut;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 public class HistoryInfoAction extends AbstractInfoAction {
@@ -17,4 +18,5 @@
                 Shortcut.registerShortcut("core:history",
                         tr("Object history"), KeyEvent.VK_H, Shortcut.GROUP_HOTKEY), true);
+        putValue("help", ht("/Action/HistoryInfo"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/InfoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/InfoAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/InfoAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.KeyEvent;
@@ -17,4 +18,5 @@
                 Shortcut.registerShortcut("core:information",
                         tr("Info about Element"), KeyEvent.VK_I, Shortcut.GROUP_HOTKEY), true);
+        putValue("help", ht("/Action/Info"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -29,4 +30,5 @@
         super(tr("Join Node to Way"), "joinnodeway", tr("Join a node into the nearest way segments"),
                 Shortcut.registerShortcut("tools:joinnodeway", tr("Tool: {0}", tr("Join Node to Way")), KeyEvent.VK_J, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/JoinNodeWay"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -20,4 +21,5 @@
                 true /* register */
         );
+        putValue("help", ht("/Action/MergeLayer"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.gui.conflict.tags.TagConflictResolutionUtil.combineTigerTags;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.gui.conflict.tags.TagConflictResolutionUtil.completeTagCollectionForEditing;
 import static org.openstreetmap.josm.gui.conflict.tags.TagConflictResolutionUtil.normalizeTagCollectionBeforeEditing;
@@ -46,4 +47,5 @@
         super(tr("Merge Nodes"), "mergenodes", tr("Merge nodes into the oldest one."),
                 Shortcut.registerShortcut("tools:mergenodes", tr("Tool: {0}", tr("Merge Nodes")), KeyEvent.VK_M, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/MergeNodesAction"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/MergeSelectionAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -23,4 +24,5 @@
                 true /* register */
         );
+        putValue("help", ht("/Action/MergeSelection"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/MirrorAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MirrorAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/MirrorAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -34,4 +35,5 @@
                 Shortcut.registerShortcut("tools:mirror", tr("Tool: {0}", tr("Mirror")),
                         KeyEvent.VK_M, Shortcut.GROUP_EDIT, Shortcut.SHIFT_DEFAULT), true);
+        putValue("help", ht("/Action/Mirror"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/MoveAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MoveAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/MoveAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -57,4 +58,5 @@
                 (Shortcut)calltosupermustbefirststatementinconstructor(dir, false), true);
         myDirection = dir;
+        putValue("help", ht("/Action/Move"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/NewAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/NewAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/NewAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -17,4 +18,5 @@
         super(tr("New"), "new", tr("Create a new map."),
                 Shortcut.registerShortcut("system:new", tr("File: {0}", tr("New")), KeyEvent.VK_N, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/New"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/OpenFileAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -36,4 +37,6 @@
         super(tr("Open..."), "open", tr("Open a file."),
                 Shortcut.registerShortcut("system:open", tr("File: {0}", tr("Open...")), KeyEvent.VK_O, Shortcut.GROUP_MENU));
+        putValue("help", ht("/Action/OpenFile"));
+        
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java	(revision 2323)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.actions;
 
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -23,5 +24,4 @@
 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
 import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
-import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -39,4 +39,5 @@
         super(tr("Open Location..."), "openlocation", tr("Open an URL."),
                 Shortcut.registerShortcut("system:open_location", tr("File: {0}", tr("Open Location...")), KeyEvent.VK_L, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/OpenLocation"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 package org.openstreetmap.josm.actions;
 
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
 
@@ -10,6 +11,6 @@
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.HashSet;
-import java.util.HashMap;
 import java.util.LinkedList;
 
@@ -21,5 +22,4 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.coor.EastNorth;
-import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -48,4 +48,5 @@
                         KeyEvent.VK_Q,
                         Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/Orthogonalize"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/PasteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PasteAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/PasteAction.java	(revision 2323)
@@ -4,4 +4,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -30,4 +31,5 @@
         super(tr("Paste"), "paste", tr("Paste contents of paste buffer."),
                 Shortcut.registerShortcut("system:paste", tr("Edit: {0}", tr("Paste")), KeyEvent.VK_V, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/Paste"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 2323)
@@ -4,4 +4,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
@@ -33,4 +34,5 @@
                 Shortcut.registerShortcut("system:pastestyle", tr("Edit: {0}", tr("Paste Tags")), KeyEvent.VK_V, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT), true);
         copyAction.addListener(this);
+        putValue("help", ht("/Action/PasteTags"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/PreferencesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/PreferencesAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/PreferencesAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.Dimension;
@@ -31,4 +32,5 @@
         super(tr("Preferences..."), "preference", tr("Open a preferences page for global settings."),
         Shortcut.registerShortcut("system:preferences", tr("Preferences"), KeyEvent.VK_F12, Shortcut.GROUP_DIRECT), true);
+        putValue("help", ht("/Action/Preferences"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/RedoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/RedoAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/RedoAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -24,4 +25,5 @@
                 Shortcut.registerShortcut("system:redo", tr("Edit: {0}", tr("Redo")), KeyEvent.VK_Y, Shortcut.GROUP_MENU), true);
         setEnabled(false);
+        putValue("help", ht("/Action/Redo"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/RenameLayerAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/RenameLayerAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/RenameLayerAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -37,5 +38,5 @@
         this.file = file;
         this.layer = layer;
-        this.putValue("help", "Action/LayerRename");
+        this.putValue("help", ht("/Action/RenameLayer"));       
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -30,4 +31,5 @@
         super(tr("Reverse Ways"), "wayflip", tr("Reverse the direction of all selected ways."),
                 Shortcut.registerShortcut("tools:reverse", tr("Tool: {0}", tr("Reverse Ways")), KeyEvent.VK_R, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/ReverseWay"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/SaveAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/SaveAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.KeyEvent;
@@ -27,4 +28,5 @@
         super(tr("Save"), "save", tr("Save the current data."),
                 Shortcut.registerShortcut("system:save", tr("File: {0}", tr("Save")), KeyEvent.VK_S, Shortcut.GROUP_MENU));
+        putValue("help", ht("/Action/Save"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.KeyEvent;
@@ -24,4 +25,5 @@
         super(tr("Save As..."), "save_as", tr("Save the current data to a new file."),
                 Shortcut.registerShortcut("system:saveas", tr("File: {0}", tr("Save As...")), KeyEvent.VK_S, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT));
+        putValue("help", ht("/Action/SaveAs"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/SelectAllAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SelectAllAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/SelectAllAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -14,4 +15,5 @@
         super(tr("Select All"),"selectall", tr("Select all undeleted objects in the data layer. This selects incomplete objects too."),
                 Shortcut.registerShortcut("system:selectall", tr("Edit: {0}", tr("Select All")), KeyEvent.VK_A, Shortcut.GROUP_MENU), true);
+        putValue("help", ht("/Action/SelectAll"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.Dimension;
@@ -39,4 +40,5 @@
                         tr("Show Status Report")), KeyEvent.VK_R, Shortcut.GROUP_NONE), true);
 
+        putValue("help", ht("/Action/ShowStatusReport"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
@@ -52,4 +53,5 @@
         super(tr("Split Way"), "splitway", tr("Split a way at the selected node."),
                 Shortcut.registerShortcut("tools:splitway", tr("Tool: {0}", tr("Split Way")), KeyEvent.VK_P, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/SplitWay"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/ToggleGPXLinesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ToggleGPXLinesAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/ToggleGPXLinesAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -15,4 +16,5 @@
         super(tr("Toggle GPX Lines"), "gps-lines", tr("Toggles the global setting ''{0}''.", tr("Draw lines between raw gps points.")),
         Shortcut.registerShortcut("view:gpxlines", tr("View: {0}", tr("Toggle GPX Lines")), KeyEvent.VK_X, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT), true);
+        putValue("help", ht("/Action/ToggleGPXLines"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -51,4 +52,5 @@
         super(tr("UnGlue Ways"), "unglueways", tr("Duplicate nodes that are used by multiple ways."),
                 Shortcut.registerShortcut("tools:unglue", tr("Tool: {0}", tr("UnGlue Ways")), KeyEvent.VK_G, Shortcut.GROUP_EDIT), true);
+        putValue("help", ht("/Action/UnGlue"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UndoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UndoAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UndoAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -24,4 +25,5 @@
                 Shortcut.registerShortcut("system:undo", tr("Edit: {0}", tr("Undo")), KeyEvent.VK_Z, Shortcut.GROUP_MENU), true);
         setEnabled(false);
+        putValue("help", ht("/Action/Undo"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -36,4 +37,6 @@
                         KeyEvent.VK_ESCAPE, Shortcut.GROUP_DIRECT).getKeyStroke(),
                         tr("Unselect All"));
+        
+        putValue("help", ht("/Action/UnselectAll"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UpdateDataAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UpdateDataAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UpdateDataAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -25,4 +26,5 @@
                         Shortcut.GROUP_HOTKEY),
                         true);
+        putValue("help", ht("/Action/UpdateData"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UpdateSelectionAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -96,4 +97,5 @@
                         Shortcut.GROUP_HOTKEY + Shortcut.GROUPS_ALT2),
                         true);
+        putValue("help", ht("UpdateSelection"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UploadAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UploadAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UploadAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -119,4 +120,5 @@
         super(tr("Upload data"), "upload", tr("Upload all changes in the active data layer to the OSM server"),
                 Shortcut.registerShortcut("file:upload", tr("File: {0}", tr("Upload data")), KeyEvent.VK_U, Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY), true);
+        putValue("help", ht("/Action/Upload"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java	(revision 2323)
@@ -33,5 +33,5 @@
 import org.openstreetmap.josm.tools.ExceptionUtil;
 import org.xml.sax.SAXException;
-
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 /**
@@ -49,4 +49,5 @@
                 null, /* no shortcut */
                 true);
+        putValue("help", ht("/Action/UploadSelection"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -15,4 +16,5 @@
         super(tr("Zoom In"), "dialogs/zoomin", tr("Zoom In"),
                 Shortcut.registerShortcut("view:zoomin", tr("View: {0}", tr("Zoom In")), KeyEvent.VK_PLUS, Shortcut.GROUP_DIRECT), true);
+        putValue("help", ht("/Action/ZoomIn"));
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java	(revision 2323)
@@ -3,4 +3,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -15,4 +16,5 @@
         super(tr("Zoom Out"), "dialogs/zoomout", tr("Zoom Out"),
                 Shortcut.registerShortcut("view:zoomout", tr("View: {0}", tr("Zoom Out")), KeyEvent.VK_MINUS, Shortcut.GROUP_DIRECT), true);
+        putValue("help", ht("/Action/ZoomOut"));
     }
 
Index: trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 2323)
@@ -28,5 +28,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.WaySegment;
@@ -35,14 +34,11 @@
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
-import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.actionsupport.DeleteFromRelationConfirmationDialog;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.tools.ImageProvider;
 
-import sun.swing.BakedArrayList;
-
 /**
  * A command to delete a number of primitives from the dataset.
-
+ *
  */
 public class DeleteCommand extends Command {
@@ -232,47 +228,4 @@
     public static Command deleteWithReferences(OsmDataLayer layer, Collection<? extends OsmPrimitive> selection) {
         return deleteWithReferences(layer, selection, false);
-    }
-
-    private static int testRelation(Relation ref, OsmPrimitive osm, boolean simulate) {
-        // If this delete action is simulated, do not bug the user with dialogs
-        // and assume the relations should be deleted
-        if(simulate)
-            return 1;
-
-        String role = "";
-        for (RelationMember m : ref.getMembers()) {
-            if (m.getMember() == osm) {
-                role = m.getRole();
-                break;
-            }
-        }
-        ExtendedDialog dialog = new ExtendedDialog(
-                Main.parent,
-                tr("Conflicting relation"),
-                new String[] { tr("Delete from relation"),tr("Cancel") }
-        );
-        dialog.setButtonIcons( new String[] { "dialogs/delete.png", "cancel.png" });
-        if (role.length() > 0) {
-            dialog.setContent(
-                    tr(
-                            "<html>Selection \"{0}\" is used by relation \"{1}\" with role {2}.<br>Delete from relation?</html>",
-                            osm.getDisplayName(DefaultNameFormatter.getInstance()),
-                            ref.getDisplayName(DefaultNameFormatter.getInstance()),
-                            role
-                    )
-            );
-            dialog.showDialog();
-            return dialog.getValue();
-        } else {
-            dialog.setContent(
-                    tr(
-                            "<html>Selection \"{0}\" is used by relation \"{1}\".<br>Delete from relation?</html>",
-                            osm.getDisplayName(DefaultNameFormatter.getInstance()),
-                            ref.getDisplayName(DefaultNameFormatter.getInstance())
-                    )
-            );
-            dialog.showDialog();
-            return dialog.getValue();
-        }
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 2322)
+++ trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 2323)
@@ -81,5 +81,5 @@
 import org.openstreetmap.josm.tools.PlatformHookUnixoid;
 import org.openstreetmap.josm.tools.Shortcut;
-
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 /**
  * This is the JOSM main menu bar. It is overwritten to initialize itself and provide all menu
@@ -159,11 +159,11 @@
     public final JosmAction statusreport = new ShowStatusReportAction();
 
-    public final JMenu fileMenu = addMenu(marktr("File"), KeyEvent.VK_F, 0);
-    public final JMenu editMenu = addMenu(marktr("Edit"), KeyEvent.VK_E, 1);
-    public final JMenu viewMenu = addMenu(marktr("View"), KeyEvent.VK_V, 2);
-    public final JMenu toolsMenu = addMenu(marktr("Tools"), KeyEvent.VK_T, 3);
-    public final JMenu presetsMenu = addMenu(marktr("Presets"), KeyEvent.VK_P, 4);
+    public final JMenu fileMenu = addMenu(marktr("File"), KeyEvent.VK_F, 0, ht("/Menu/File"));
+    public final JMenu editMenu = addMenu(marktr("Edit"), KeyEvent.VK_E, 1, ht("/Menu/Edit"));
+    public final JMenu viewMenu = addMenu(marktr("View"), KeyEvent.VK_V, 2, ht("/Menu/View"));
+    public final JMenu toolsMenu = addMenu(marktr("Tools"), KeyEvent.VK_T, 3, ht("/Menu/Tools"));
+    public final JMenu presetsMenu = addMenu(marktr("Presets"), KeyEvent.VK_P, 4, ht("/Menu/Presets"));
     public JMenu audioMenu = null;
-    public final JMenu helpMenu = addMenu(marktr("Help"), KeyEvent.VK_H, 5);
+    public final JMenu helpMenu = addMenu(marktr("Help"), KeyEvent.VK_H, 5, ht("/Menu/Help"));
     public final int defaultMenuPos = 5;
 
@@ -185,11 +185,16 @@
         return menuitem;
     }
-    public JMenu addMenu(String name, int mnemonicKey, int position)
-    {
+    
+    @Deprecated
+    public JMenu addMenu(String name, int mnemonicKey, int position) {
+        return addMenu(name, mnemonicKey, position, "/Menu/" + name);
+    }
+    
+    public JMenu addMenu(String name, int mnemonicKey, int position, String relativeHelpTopic) {
         JMenu menu = new JMenu(tr(name));
         Shortcut.registerShortcut("menu:" + name, tr("Menu: {0}", tr(name)), mnemonicKey,
                 Shortcut.GROUP_MNEMONIC).setMnemonic(menu);
         add(menu, position);
-        menu.putClientProperty("help", "Menu/"+name);
+        menu.putClientProperty("help", relativeHelpTopic);
         return menu;
     }
@@ -309,5 +314,5 @@
 
         if (!Main.pref.getBoolean("audio.menuinvisible", false)) {
-            audioMenu = addMenu(marktr("Audio"), KeyEvent.VK_A, 5);
+            audioMenu = addMenu(marktr("Audio"), KeyEvent.VK_A, 5, ht("/Menu/Audio"));
             add(audioMenu, audioPlayPause);
             add(audioMenu, audioNext);
