void createBookmarkMenu() {

		String s = getInternationalText("Bookmark");
		bookmarkMenu = new JMenu(s != null ? s : "Bookmarks");
		bookmarkMenu.setMnemonic(KeyEvent.VK_B);

		s = getInternationalText("AddBookmark");
		JMenuItem menuItem = new JMenuItem(s != null ? s : "Add Bookmark");
		menuItem.setMnemonic(KeyEvent.VK_A);
		menuItem.setAccelerator(IS_MAC ? KeyStroke.getKeyStroke(KeyEvent.VK_D, KeyEvent.META_MASK, true) : KeyStroke.getKeyStroke(KeyEvent.VK_D, KeyEvent.CTRL_MASK, true));
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int opt = JOptionPane.YES_OPTION;
				if (BookmarkManager.sharedInstance().getBookmarks().containsKey(editor.getTitle())) {
					opt = JOptionPane.showConfirmDialog(Modeler.this, "There is already a bookmark with the name: " + editor.getTitle() + "\nWould you like to overwrite it?", "Bookmark name exists", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
				}
				if (opt == JOptionPane.YES_OPTION) {
					BookmarkManager.sharedInstance().getBookmarks().put(editor.getTitle() == null ? editor.getAddress() : editor.getTitle(), editor.getAddress());
					updateBookmarks();
				}
			}
		});
		bookmarkMenu.add(menuItem);

		s = getInternationalText("ManageBookmark");
		menuItem = new JMenuItem((s != null ? s : "Manage Bookmarks") + "...");
		menuItem.setMnemonic(KeyEvent.VK_M);
		menuItem.setAccelerator(IS_MAC ? KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.META_MASK | KeyEvent.ALT_MASK, true) : KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.CTRL_MASK | KeyEvent.ALT_MASK, true));
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				BookmarkManager.sharedInstance().showDialog(Modeler.this);
			}
		});
		bookmarkMenu.add(menuItem);
		bookmarkMenu.addSeparator();

		s = getInternationalText("MolecularWorkbenchHome");
		menuItem = new JMenuItem(s != null ? s : NAME + " Home");
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				editor.getPage().rememberViewPosition(false);
				String s = getStaticRoot();
				Locale l = Locale.getDefault();
				if (l != null) {
					if (l.equals(Locale.PRC))
						navigator.visitLocation(s + "cn/index.cml");
					else if (l.equals(Locale.TAIWAN))
						navigator.visitLocation(s + "tw/index.cml");
					else {
						String language = l.getLanguage();
						if (sameLanguage(language, "ru")) {
							navigator.visitLocation(s + "ru/index.cml");
						}
						else if (sameLanguage(language, "es")) {
							navigator.visitLocation(s + "es/index.cml");
						}
						else if (sameLanguage(language, "no")) {
							navigator.visitLocation(s + "no/index.cml");
						}
						else {
							navigator.visitLocation(s + "index.cml");
						}
					}
				}
			}
		});
		bookmarkMenu.add(menuItem);

		updateBookmarks();

	}