JAL-1499 patch from Mungo Carstairs
[jalview.git] / src / jalview / jbgui / GPreferences.java
old mode 100755 (executable)
new mode 100644 (file)
index 0881122..932fb34
@@ -1,31 +1,62 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.jbgui;
 
 import jalview.gui.JvSwingUtils;
-
-import java.awt.*;
-import java.awt.event.*;
-
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
+import jalview.util.MessageManager;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.GridLayout;
+import java.awt.Insets;
 import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingConstants;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.TitledBorder;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
 
 /**
  * DOCUMENT ME!
@@ -129,9 +160,11 @@ public class GPreferences extends JPanel
 
   JPanel jPanel1 = new JPanel();
 
-  TitledBorder titledBorder1 = new TitledBorder("Proxy Server");
+  TitledBorder titledBorder1 = new TitledBorder(
+          MessageManager.getString("label.proxy_server"));
 
-  TitledBorder titledBorder2 = new TitledBorder("File Output");
+  TitledBorder titledBorder2 = new TitledBorder(
+          MessageManager.getString("label.file_output"));
 
   GridBagLayout gridBagLayout2 = new GridBagLayout();
 
@@ -179,6 +212,8 @@ public class GPreferences extends JPanel
 
   protected JCheckBox clustaljv = new JCheckBox();
 
+  protected JCheckBox megajv = new JCheckBox();
+
   protected JCheckBox msfjv = new JCheckBox();
 
   protected JCheckBox fastajv = new JCheckBox();
@@ -276,17 +311,19 @@ public class GPreferences extends JPanel
   private void jbInit() throws Exception
   {
     this.setLayout(borderLayout1);
-    ok.setText("OK");
+    ok.setText(MessageManager.getString("action.ok"));
     ok.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         ok_actionPerformed(e);
       }
     });
-    cancel.setText("Cancel");
+    cancel.setText(MessageManager.getString("action.cancel"));
     cancel.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         cancel_actionPerformed(e);
@@ -297,79 +334,88 @@ public class GPreferences extends JPanel
     quality.setHorizontalAlignment(SwingConstants.RIGHT);
     quality.setHorizontalTextPosition(SwingConstants.LEFT);
     quality.setSelected(true);
-    quality.setText("Quality");
-    visualTab.setBorder(new TitledBorder("Open new alignment"));
+    quality.setText(MessageManager.getString("label.quality"));
+    visualTab.setBorder(new TitledBorder(MessageManager
+            .getString("action.open_new_aligmnent")));
     visualTab.setLayout(null);
-    visual2Tab.setBorder(new TitledBorder("Open new alignment"));
+    visual2Tab.setBorder(new TitledBorder(MessageManager
+            .getString("action.open_new_aligmnent")));
     visual2Tab.setLayout(new FlowLayout());
     fullScreen.setFont(verdana11);
     fullScreen.setHorizontalAlignment(SwingConstants.RIGHT);
     fullScreen.setHorizontalTextPosition(SwingConstants.LEFT);
-    fullScreen.setText("Maximise Window");
+    fullScreen.setText(MessageManager.getString("label.maximize_window"));
     conservation.setEnabled(false);
     conservation.setFont(verdana11);
     conservation.setHorizontalAlignment(SwingConstants.RIGHT);
     conservation.setHorizontalTextPosition(SwingConstants.LEFT);
     conservation.setSelected(true);
-    conservation.setText("Conservation");
+    conservation.setText(MessageManager.getString("label.conservation"));
     identity.setEnabled(false);
     identity.setFont(verdana11);
     identity.setHorizontalAlignment(SwingConstants.RIGHT);
     identity.setHorizontalTextPosition(SwingConstants.LEFT);
     identity.setSelected(true);
-    identity.setText("Consensus");
+    identity.setText(MessageManager.getString("label.consensus"));
     showGroupbits.setFont(verdana11);
     showGroupbits.setHorizontalAlignment(SwingConstants.RIGHT);
     showGroupbits.setHorizontalTextPosition(SwingConstants.LEFT);
-    showGroupbits.setText("Show group:");
+    showGroupbits.setText(MessageManager.getString("action.show_group")
+            + ":");
     showConsensbits.setFont(verdana11);
     showConsensbits.setHorizontalAlignment(SwingConstants.RIGHT);
     showConsensbits.setHorizontalTextPosition(SwingConstants.LEFT);
-    showConsensbits.setText("Consensus:");
+    showConsensbits.setText(MessageManager.getString("label.consensus")
+            + ":");
     showConsensHistogram.setEnabled(false);
     showConsensHistogram.setFont(verdana11);
     showConsensHistogram.setHorizontalAlignment(SwingConstants.RIGHT);
     showConsensHistogram.setHorizontalTextPosition(SwingConstants.LEFT);
     showConsensHistogram.setSelected(true);
-    showConsensHistogram.setText("Histogram");
+    showConsensHistogram.setText(MessageManager
+            .getString("label.histogram"));
     showConsensLogo.setEnabled(false);
     showConsensLogo.setFont(verdana11);
     showConsensLogo.setHorizontalAlignment(SwingConstants.RIGHT);
     showConsensLogo.setHorizontalTextPosition(SwingConstants.LEFT);
     showConsensLogo.setSelected(true);
-    showConsensLogo.setText("Logo");
+    showConsensLogo.setText(MessageManager.getString("label.logo"));
     showGroupConsensus.setEnabled(false);
     showGroupConsensus.setFont(verdana11);
     showGroupConsensus.setHorizontalAlignment(SwingConstants.RIGHT);
     showGroupConsensus.setHorizontalTextPosition(SwingConstants.LEFT);
     showGroupConsensus.setSelected(true);
-    showGroupConsensus.setText("Consensus");
+    showGroupConsensus.setText(MessageManager.getString("label.consensus"));
     showGroupConservation.setEnabled(false);
     showGroupConservation.setFont(verdana11);
     showGroupConservation.setHorizontalAlignment(SwingConstants.RIGHT);
     showGroupConservation.setHorizontalTextPosition(SwingConstants.LEFT);
     showGroupConservation.setSelected(true);
-    showGroupConservation.setText("Conservation");
+    showGroupConservation.setText(MessageManager
+            .getString("label.conservation"));
     showNpTooltip.setEnabled(true);
     showNpTooltip.setFont(verdana11);
     showNpTooltip.setHorizontalAlignment(SwingConstants.RIGHT);
     showNpTooltip.setHorizontalTextPosition(SwingConstants.LEFT);
     showNpTooltip.setSelected(true);
-    showNpTooltip.setText("Non-positional Features");
+    showNpTooltip.setText(MessageManager
+            .getString("label.non_positional_features"));
     showDbRefTooltip.setEnabled(true);
     showDbRefTooltip.setFont(verdana11);
     showDbRefTooltip.setHorizontalAlignment(SwingConstants.RIGHT);
     showDbRefTooltip.setHorizontalTextPosition(SwingConstants.LEFT);
     showDbRefTooltip.setSelected(true);
-    showDbRefTooltip.setText("Database References");
+    showDbRefTooltip.setText(MessageManager
+            .getString("label.database_references"));
     annotations.setFont(verdana11);
     annotations.setHorizontalAlignment(SwingConstants.RIGHT);
     annotations.setHorizontalTextPosition(SwingConstants.LEADING);
     annotations.setSelected(true);
-    annotations.setText("Show Annotations");
+    annotations.setText(MessageManager.getString("label.show_annotations"));
     annotations.setBounds(new Rectangle(169, 12, 200, 23));
     annotations.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         annotations_actionPerformed(e);
@@ -377,6 +423,7 @@ public class GPreferences extends JPanel
     });
     identity.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         annotations_actionPerformed(e);
@@ -384,6 +431,7 @@ public class GPreferences extends JPanel
     });
     showGroupConsensus.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         annotations_actionPerformed(e);
@@ -393,9 +441,11 @@ public class GPreferences extends JPanel
     showUnconserved.setHorizontalAlignment(SwingConstants.RIGHT);
     showUnconserved.setHorizontalTextPosition(SwingConstants.LEFT);
     showUnconserved.setSelected(true);
-    showUnconserved.setText("Show Unconserved");
+    showUnconserved.setText(MessageManager
+            .getString("action.show_unconserved"));
     showUnconserved.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         showunconserved_actionPerformed(e);
@@ -406,25 +456,28 @@ public class GPreferences extends JPanel
     shareSelections.setHorizontalAlignment(SwingConstants.RIGHT);
     shareSelections.setHorizontalTextPosition(SwingConstants.LEFT);
     shareSelections.setSelected(true);
-    shareSelections.setText("Share selection across views");
+    shareSelections.setText(MessageManager
+            .getString("label.share_selection_across_views"));
     followHighlight.setFont(verdana11);
     followHighlight.setHorizontalAlignment(SwingConstants.RIGHT);
     followHighlight.setHorizontalTextPosition(SwingConstants.LEFT);
     // showUnconserved.setBounds(new Rectangle(169, 40, 200, 23));
     followHighlight.setSelected(true);
-    followHighlight.setText("Scroll to highlighted regions");
+    followHighlight.setText(MessageManager
+            .getString("label.scroll_highlighted_regions"));
 
     gapLabel.setFont(verdana11);
     gapLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    gapLabel.setText("Gap Symbol ");
+    gapLabel.setText(MessageManager.getString("label.gap_symbol") + " ");
     colour.setFont(verdana11);
     colour.setBounds(new Rectangle(172, 225, 155, 21));
     colourLabel.setFont(verdana11);
     colourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    colourLabel.setText("Alignment Colour ");
+    colourLabel.setText(MessageManager.getString("label.alignment_colour")
+            + " ");
     fontLabel.setFont(verdana11);
     fontLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    fontLabel.setText("Font ");
+    fontLabel.setText(MessageManager.getString("label.font"));
     fontSizeCB.setFont(verdana11);
     fontSizeCB.setBounds(new Rectangle(319, 104, 49, 23));
     fontStyleCB.setFont(verdana11);
@@ -435,12 +488,13 @@ public class GPreferences extends JPanel
     gapSymbolCB.setBounds(new Rectangle(172, 204, 69, 23));
     mincolourLabel.setFont(verdana11);
     mincolourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    mincolourLabel.setText("Minimum Colour");
+    mincolourLabel.setText(MessageManager.getString("label.min_colour"));
     minColour.setFont(verdana11);
     minColour.setBorder(BorderFactory.createEtchedBorder());
     minColour.setPreferredSize(new Dimension(40, 20));
     minColour.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mousePressed(MouseEvent e)
       {
         minColour_actionPerformed();
@@ -448,19 +502,20 @@ public class GPreferences extends JPanel
     });
     maxcolourLabel.setFont(verdana11);
     maxcolourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    maxcolourLabel.setText("Maximum Colour ");
+    maxcolourLabel.setText(MessageManager.getString("label.max_colour"));
     maxColour.setFont(verdana11);
     maxColour.setBorder(BorderFactory.createEtchedBorder());
     maxColour.setPreferredSize(new Dimension(40, 20));
     maxColour.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mousePressed(MouseEvent e)
       {
         maxColour_actionPerformed();
       }
     });
 
-    startupCheckbox.setText("Open file");
+    startupCheckbox.setText(MessageManager.getString("action.open_file"));
     startupCheckbox.setFont(verdana11);
     startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT);
     startupCheckbox.setHorizontalTextPosition(SwingConstants.LEFT);
@@ -469,6 +524,7 @@ public class GPreferences extends JPanel
     startupFileTextfield.setBounds(new Rectangle(172, 273, 270, 20));
     startupFileTextfield.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mouseClicked(MouseEvent e)
       {
         if (e.getClickCount() > 1)
@@ -479,50 +535,57 @@ public class GPreferences extends JPanel
     });
 
     connectTab.setLayout(gridBagLayout3);
-    serverLabel.setText("Address");
+    serverLabel.setText(MessageManager.getString("label.address"));
     serverLabel.setHorizontalAlignment(SwingConstants.RIGHT);
     serverLabel.setFont(verdana11);
     proxyServerTB.setFont(verdana11);
     proxyPortTB.setFont(verdana11);
     portLabel.setFont(verdana11);
     portLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    portLabel.setText("Port");
+    portLabel.setText(MessageManager.getString("label.port"));
     browserLabel.setFont(new java.awt.Font("SansSerif", 0, 11));
     browserLabel.setHorizontalAlignment(SwingConstants.TRAILING);
-    browserLabel.setText("Default Browser (Unix)");
+    browserLabel.setText(MessageManager
+            .getString("label.default_browser_unix"));
     defaultBrowser.setFont(verdana11);
     defaultBrowser.setText("");
-    usagestats.setText("Send usage statistics");
+    usagestats.setText(MessageManager
+            .getString("label.send_usage_statistics"));
     usagestats.setFont(verdana11);
     usagestats.setHorizontalAlignment(SwingConstants.RIGHT);
     usagestats.setHorizontalTextPosition(SwingConstants.LEADING);
-    questionnaire.setText("Check for questionnaires");
+    questionnaire.setText(MessageManager
+            .getString("label.check_for_questionnaires"));
     questionnaire.setFont(verdana11);
     questionnaire.setHorizontalAlignment(SwingConstants.RIGHT);
     questionnaire.setHorizontalTextPosition(SwingConstants.LEADING);
-    versioncheck.setText("Check for latest version");
+    versioncheck.setText(MessageManager
+            .getString("label.check_for_latest_version"));
     versioncheck.setFont(verdana11);
     versioncheck.setHorizontalAlignment(SwingConstants.RIGHT);
     versioncheck.setHorizontalTextPosition(SwingConstants.LEADING);
-    newLink.setText("New");
+    newLink.setText(MessageManager.getString("action.new"));
     newLink.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         newLink_actionPerformed(e);
       }
     });
-    editLink.setText("Edit");
+    editLink.setText(MessageManager.getString("action.edit"));
     editLink.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         editLink_actionPerformed(e);
       }
     });
-    deleteLink.setText("Delete");
+    deleteLink.setText(MessageManager.getString("action.delete"));
     deleteLink.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         deleteLink_actionPerformed(e);
@@ -531,6 +594,7 @@ public class GPreferences extends JPanel
 
     linkURLList.addListSelectionListener(new ListSelectionListener()
     {
+      @Override
       public void valueChanged(ListSelectionEvent e)
       {
         int index = linkURLList.getSelectedIndex();
@@ -540,6 +604,7 @@ public class GPreferences extends JPanel
 
     linkNameList.addListSelectionListener(new ListSelectionListener()
     {
+      @Override
       public void valueChanged(ListSelectionEvent e)
       {
         int index = linkNameList.getSelectedIndex();
@@ -548,7 +613,8 @@ public class GPreferences extends JPanel
     });
 
     linkScrollPane.setBorder(null);
-    linkPanel.setBorder(new TitledBorder("URL link from Sequence ID"));
+    linkPanel.setBorder(new TitledBorder(MessageManager
+            .getString("label.url_linkfrom_sequence_id")));
     linkPanel.setLayout(borderLayout2);
     editLinkButtons.setLayout(gridLayout1);
     gridLayout1.setRows(3);
@@ -560,6 +626,7 @@ public class GPreferences extends JPanel
 
     defaultBrowser.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mouseClicked(MouseEvent e)
       {
         if (e.getClickCount() > 1)
@@ -571,9 +638,10 @@ public class GPreferences extends JPanel
     useProxy.setFont(verdana11);
     useProxy.setHorizontalAlignment(SwingConstants.RIGHT);
     useProxy.setHorizontalTextPosition(SwingConstants.LEADING);
-    useProxy.setText("Use a proxy server");
+    useProxy.setText(MessageManager.getString("label.use_proxy_server"));
     useProxy.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         useProxy_actionPerformed();
@@ -585,32 +653,32 @@ public class GPreferences extends JPanel
     sortby.setBounds(new Rectangle(172, 249, 155, 21));
     sortLabel.setFont(verdana11);
     sortLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    sortLabel.setText("Sort by ");
+    sortLabel.setText(MessageManager.getString("label.sort_by"));
     jPanel2.setBounds(new Rectangle(7, 17, 158, 278));
     jPanel2.setLayout(gridLayout2);
     gridLayout2.setRows(12);
     exportTab.setLayout(null);
     epsLabel.setFont(verdana11);
     epsLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    epsLabel.setText("EPS Rendering Style");
+    epsLabel.setText(MessageManager.getString("label.eps_rendering_style"));
     epsLabel.setBounds(new Rectangle(9, 31, 140, 24));
     epsRendering.setFont(verdana11);
     epsRendering.setBounds(new Rectangle(154, 34, 187, 21));
     jLabel1.setFont(verdana11);
     jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
-    jLabel1.setText("Append /start-end (/15-380)");
+    jLabel1.setText(MessageManager.getString("label.append_start_end"));
     jLabel1.setFont(verdana11);
     fastajv.setFont(verdana11);
     fastajv.setHorizontalAlignment(SwingConstants.LEFT);
-    clustaljv.setText("Clustal     ");
-    blcjv.setText("BLC     ");
-    fastajv.setText("Fasta     ");
-    msfjv.setText("MSF     ");
-    pfamjv.setText("PFAM     ");
-    pileupjv.setText("Pileup     ");
+    clustaljv.setText(MessageManager.getString("label.clustal") + "     ");
+    blcjv.setText(MessageManager.getString("label.blc") + "     ");
+    fastajv.setText(MessageManager.getString("label.fasta") + "     ");
+    msfjv.setText(MessageManager.getString("label.msf") + "     ");
+    pfamjv.setText(MessageManager.getString("label.pfam") + "     ");
+    pileupjv.setText(MessageManager.getString("label.pileup") + "     ");
     msfjv.setFont(verdana11);
     msfjv.setHorizontalAlignment(SwingConstants.LEFT);
-    pirjv.setText("PIR     ");
+    pirjv.setText(MessageManager.getString("label.pir") + "     ");
     jPanel11.setFont(verdana11);
     jPanel11.setBorder(titledBorder2);
     jPanel11.setBounds(new Rectangle(30, 72, 196, 182));
@@ -628,27 +696,31 @@ public class GPreferences extends JPanel
     seqLimit.setFont(verdana11);
     seqLimit.setHorizontalAlignment(SwingConstants.RIGHT);
     seqLimit.setHorizontalTextPosition(SwingConstants.LEFT);
-    seqLimit.setText("Full Sequence Id");
+    seqLimit.setText(MessageManager.getString("label.full_sequence_id"));
     gridLayout3.setRows(8);
     smoothFont.setFont(verdana11);
     smoothFont.setHorizontalAlignment(SwingConstants.RIGHT);
     smoothFont.setHorizontalTextPosition(SwingConstants.LEADING);
-    smoothFont.setText("Smooth Font");
+    smoothFont.setText(MessageManager.getString("label.smooth_font"));
     calcTab.setLayout(null);
     autoCalculateConsCheck.setFont(JvSwingUtils.getLabelFont());
-    autoCalculateConsCheck.setText("AutoCalculate Consensus");
+    autoCalculateConsCheck.setText(MessageManager
+            .getString("label.autocalculate_consensus"));
     autoCalculateConsCheck.setBounds(new Rectangle(21, 52, 209, 23));
     padGaps.setFont(JvSwingUtils.getLabelFont());
-    padGaps.setText("Pad Gaps When Editing");
+    padGaps.setText(MessageManager.getString("label.pad_gaps_when_editing"));
     padGaps.setBounds(new Rectangle(22, 94, 168, 23));
     sortByTree.setFont(JvSwingUtils.getLabelFont());
-    sortByTree.setText("Sort With New Tree");
     sortByTree
-            .setToolTipText("When selected, any trees calculated or loaded onto the alignment will automatically sort the alignment.");
+            .setText(MessageManager.getString("label.sort_with_new_tree"));
+    sortByTree
+            .setToolTipText(MessageManager
+                    .getString("label.any_trees_calculated_or_loaded_alignment_automatically_sort"));
     sortByTree.setBounds(new Rectangle(22, 136, 168, 23));
 
     autoIdWidth.setFont(JvSwingUtils.getLabelFont());
-    autoIdWidth.setText("Automatically set ID width");
+    autoIdWidth.setText(MessageManager
+            .getString("label.automatically_set_id_width"));
     autoIdWidth
             .setToolTipText("<html>"
                     + JvSwingUtils
@@ -665,7 +737,8 @@ public class GPreferences extends JPanel
       }
     });
     userIdWidthlabel.setFont(JvSwingUtils.getLabelFont());
-    userIdWidthlabel.setText("Figure ID column width");
+    userIdWidthlabel.setText(MessageManager
+            .getString("label.figure_id_column_width"));
     userIdWidth
             .setToolTipText("<html>"
                     + JvSwingUtils
@@ -690,7 +763,8 @@ public class GPreferences extends JPanel
       }
     });
     modellerOutput.setFont(JvSwingUtils.getLabelFont());
-    modellerOutput.setText("Use Modeller Output");
+    modellerOutput.setText(MessageManager
+            .getString("label.use_modeller_output"));
     modellerOutput.setBounds(new Rectangle(228, 226, 168, 23));
 
     dasPanel.setLayout(borderLayout4);
@@ -698,21 +772,23 @@ public class GPreferences extends JPanel
     wrap.setFont(JvSwingUtils.getLabelFont());
     wrap.setHorizontalAlignment(SwingConstants.TRAILING);
     wrap.setHorizontalTextPosition(SwingConstants.LEADING);
-    wrap.setText("Wrap Alignment");
+    wrap.setText(MessageManager.getString("label.wrap_alignment"));
     rightAlign.setFont(JvSwingUtils.getLabelFont());
     rightAlign.setForeground(Color.black);
     rightAlign.setHorizontalAlignment(SwingConstants.RIGHT);
     rightAlign.setHorizontalTextPosition(SwingConstants.LEFT);
-    rightAlign.setText("Right Align Ids");
+    rightAlign.setText(MessageManager.getString("label.right_align_ids"));
     idItalics.setFont(JvSwingUtils.getLabelFont());
     idItalics.setHorizontalAlignment(SwingConstants.RIGHT);
     idItalics.setHorizontalTextPosition(SwingConstants.LEADING);
-    idItalics.setText("Sequence Name Italics");
+    idItalics.setText(MessageManager
+            .getString("label.sequence_name_italics"));
     openoverv.setFont(JvSwingUtils.getLabelFont());
-    openoverv.setActionCommand("Open Overview");
+    openoverv.setActionCommand(MessageManager
+            .getString("label.open_overview"));
     openoverv.setHorizontalAlignment(SwingConstants.RIGHT);
     openoverv.setHorizontalTextPosition(SwingConstants.LEFT);
-    openoverv.setText("Open Overview");
+    openoverv.setText(MessageManager.getString(("label.open_overview")));
     jPanel2.add(fullScreen);
     jPanel2.add(openoverv);
     jPanel2.add(seqLimit);
@@ -763,24 +839,26 @@ public class GPreferences extends JPanel
     autoAnnotSettings3.add(showConsensLogo);
 
     JPanel tooltipSettings = new JPanel();
-    tooltipSettings.setBorder(new TitledBorder("Sequence ID Tooltip"));
+    tooltipSettings.setBorder(new TitledBorder(MessageManager
+            .getString("label.sequence_id_tooltip")));
     tooltipSettings.setBounds(173, 130, 200, 62);
     tooltipSettings.setLayout(new GridLayout(2, 1));
     tooltipSettings.add(showDbRefTooltip);
     tooltipSettings.add(showNpTooltip);
     visualTab.add(tooltipSettings);
     visualTab.add(jPanel2);
-    JvSwingUtils.addtoLayout(visual2Tab,
-            "Default Colourscheme for alignment", colourLabel, colour);
+    JvSwingUtils.addtoLayout(visual2Tab, MessageManager
+            .getString("label.default_colour_scheme_for_alignment"),
+            colourLabel, colour);
     JPanel annotationShding = new JPanel();
-    annotationShding.setBorder(new TitledBorder(
-            "Annotation Shading Default"));
+    annotationShding.setBorder(new TitledBorder(MessageManager
+            .getString("label.annotation_shading_default")));
     annotationShding.setLayout(new GridLayout(1, 2));
-    JvSwingUtils.addtoLayout(annotationShding,
-            "Default Minimum Colour for annotation shading",
+    JvSwingUtils.addtoLayout(annotationShding, MessageManager
+            .getString("label.default_minimum_colour_annotation_shading"),
             mincolourLabel, minColour);
-    JvSwingUtils.addtoLayout(annotationShding,
-            "Default Maximum Colour for annotation shading",
+    JvSwingUtils.addtoLayout(annotationShding, MessageManager
+            .getString("label.default_maximum_colour_annotation_shading"),
             maxcolourLabel, maxColour);
     visual2Tab.add(annotationShding); // , FlowLayout.LEFT);
 
@@ -842,10 +920,11 @@ public class GPreferences extends JPanel
     dlcr.setHorizontalAlignment(DefaultListCellRenderer.CENTER);
     gapSymbolCB.setRenderer(dlcr);
 
-    tabbedPane.add(visualTab, "Visual");
-    tabbedPane.add(visual2Tab, "Colours");
-    tabbedPane.add(connectTab, "Connections");
-    tabbedPane.add(exportTab, "Output");
+    tabbedPane.add(visualTab, MessageManager.getString("label.visual"));
+    tabbedPane.add(visual2Tab, MessageManager.getString("label.colours"));
+    tabbedPane.add(connectTab,
+            MessageManager.getString("label.connections"));
+    tabbedPane.add(exportTab, MessageManager.getString("label.output"));
     jPanel11.add(jLabel1);
     jPanel11.add(blcjv);
     jPanel11.add(clustaljv);
@@ -858,13 +937,14 @@ public class GPreferences extends JPanel
     exportTab.add(userIdWidth);
     exportTab.add(userIdWidthlabel);
     exportTab.add(modellerOutput);
-    tabbedPane.add(calcTab, "Editing");
+    tabbedPane.add(calcTab, MessageManager.getString("label.editing"));
     calcTab.add(autoCalculateConsCheck);
     calcTab.add(padGaps);
     calcTab.add(sortByTree);
 
-    tabbedPane.add(dasPanel, "DAS Settings");
-    tabbedPane.add(wsPanel, "Web Services");
+    tabbedPane
+            .add(dasPanel, MessageManager.getString("label.das_settings"));
+    tabbedPane.add(wsPanel, MessageManager.getString("label.web_services"));
 
     exportTab.add(epsLabel);
     exportTab.add(epsRendering);