[jsword-svn] r1996 - in trunk/common-swing: .settings src/main/java/org/crosswire/common/config/swing src/main/java/org/crosswire/common/progress/swing src/main/java/org/crosswire/common/swing src/main/java/org/crosswire/common/swing/desktop src/main/java/org/crosswire/common/swing/plaf

dmsmith at crosswire.org dmsmith at crosswire.org
Sat Oct 23 13:40:54 MST 2010


Author: dmsmith
Date: 2010-10-23 13:40:54 -0700 (Sat, 23 Oct 2010)
New Revision: 1996

Modified:
   trunk/common-swing/.settings/org.eclipse.jdt.core.prefs
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AbstractConfigEditor.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AdvancedConfigEditor.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/BooleanField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ButtonPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ConfigEditorFactory.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/DirectoryField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FieldMap.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FileField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/MappedOptionsField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_in.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/OptionsField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField_de.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/StringArrayField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TextField.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TreeConfigEditor.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.java
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_de.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_in.properties
   trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/AbstractLayout.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/ActionFactory.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_de.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_in.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_tr.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh_CN.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/AltFixedSplitPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/AntiAliasedTextPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/CWAction.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/CWOptionPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/ExceptionPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/FixedSplitPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/FontChooser.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/FontStore.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/FormPane.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiConvert.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiUtil.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/LookAndFeelUtil.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/MapTableModel.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/NumberCellRenderer.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/QuickHelpDialog.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_de.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_in.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/AbstractViewLayout.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutPersistence.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutType.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/MDIViewLayout.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TDIViewLayout.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TabbedPanePanel.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_de.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_in.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh_CN.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_de.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_fa.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_in.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_vi.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties
   trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ViewManager.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/MetalLFCustoms.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/OtherLFCustoms.java
   trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/WindowsLFCustoms.java
Log:
remove NON-NLS comments
Start a new methodology for messages. Goal is a single file per jar for translation. It will take a while.

Modified: trunk/common-swing/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/common-swing/.settings/org.eclipse.jdt.core.prefs	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/.settings/org.eclipse.jdt.core.prefs	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,4 +1,4 @@
-#Thu Oct 29 08:52:55 EDT 2009
+#Sat Jan 23 23:04:47 EST 2010
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=warning
@@ -27,12 +27,16 @@
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=warning
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
 org.eclipse.jdt.core.compiler.problem.deprecation=warning
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
@@ -48,6 +52,7 @@
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
 org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -56,13 +61,18 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
 org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
 org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
 org.eclipse.jdt.core.compiler.problem.nullReference=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
 org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=disabled
@@ -76,13 +86,18 @@
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
 org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
 org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
 org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.4
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AbstractConfigEditor.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AbstractConfigEditor.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AbstractConfigEditor.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -108,7 +108,7 @@
             dialog.getContentPane().add(this);
 
             // set the name for Layout Persistence
-            dialog.setName("Config"); //$NON-NLS-1$
+            dialog.setName("Config");
             dialog.addWindowListener(new WindowAdapter() {
                 /*
                  * (non-Javadoc)
@@ -275,7 +275,7 @@
             String value = field.getValue();
 
             if (value == null) {
-                log.error("null value from key=" + key); //$NON-NLS-1$
+                log.error("null value from key=" + key);
             }
 
             config.setLocal(key, value);
@@ -299,7 +299,7 @@
             String value = config.getLocal(key);
 
             if (field == null) {
-                log.error("Null field from key=" + key + ", skipping setting value=" + value); //$NON-NLS-1$ //$NON-NLS-2$
+                log.error("Null field from key=" + key + ", skipping setting value=" + value);
             } else {
                 field.setValue(value);
             }
@@ -345,12 +345,12 @@
     /**
      * The large task icon
      */
-    protected static final ImageIcon TASK_ICON_LARGE = GuiUtil.getIcon("toolbarButtonGraphics/general/Preferences24.gif"); //$NON-NLS-1$
+    protected static final ImageIcon TASK_ICON_LARGE = GuiUtil.getIcon("toolbarButtonGraphics/general/Preferences24.gif");
 
     /**
      * The small task icon
      */
-    protected static final ImageIcon TASK_ICON_SMALL = GuiUtil.getIcon("toolbarButtonGraphics/general/Preferences16.gif"); //$NON-NLS-1$
+    protected static final ImageIcon TASK_ICON_SMALL = GuiUtil.getIcon("toolbarButtonGraphics/general/Preferences16.gif");
 
     /**
      * Serialization ID

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AdvancedConfigEditor.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AdvancedConfigEditor.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AdvancedConfigEditor.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -62,7 +62,7 @@
         comps = new HashMap();
 
         // Hack: tree depends on it being a Color not a sub of it.
-        Color orig = UIManager.getColor("control"); //$NON-NLS-1$
+        Color orig = UIManager.getColor("control");
         Color bg = new Color(orig.getRed(), orig.getGreen(), orig.getBlue());
 
         // This seems to be broken ...
@@ -74,7 +74,7 @@
         tree.setCellRenderer(render);
         tree.setShowsRootHandles(true);
         tree.setRootVisible(false);
-        tree.putClientProperty("JTree.lineStyle", "None"); //$NON-NLS-1$//$NON-NLS-2$
+        tree.putClientProperty("JTree.lineStyle", "None");
         tree.setSelectionRow(0);
         tree.setEditable(true);
 
@@ -142,7 +142,9 @@
             return;
         }
 
-        title.setText(obj + " " + UserMsg.PROPERTIES); //$NON-NLS-1$
+        // TRANSLATOR: This is the label for the banner when one opens a type of Options/Preferences.
+        // {0} is the type of preference, e.g. Bible Display
+        title.setText(UserMsg.gettext("{0} Preferences", obj));
 
         // Get the name of the current deck
         Object[] list = tree.getSelectionPath().getPath();

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/BooleanField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/BooleanField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/BooleanField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -105,8 +105,8 @@
         return this;
     }
 
-    private static final String YES = "Yes"; //$NON-NLS-1$
-    private static final String NO = "No"; //$NON-NLS-1$
+    private static final String YES = "Yes";
+    private static final String NO = "No";
 
     /**
      * The 'on' button

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ButtonPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ButtonPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ButtonPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -41,9 +41,9 @@
  * @author Joe Walker [joe at eireneh dot com]
  */
 public class ButtonPane extends JPanel {
-    private static final String OK = "OK"; //$NON-NLS-1$
-    private static final String CANCEL = "Cancel"; //$NON-NLS-1$
-    private static final String APPLY = "Apply"; //$NON-NLS-1$
+    private static final String OK = "OK";
+    private static final String CANCEL = "Cancel";
+    private static final String APPLY = "Apply";
 
     /**
      * Simple ctor

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ConfigEditorFactory.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ConfigEditorFactory.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ConfigEditorFactory.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -115,9 +115,8 @@
                 config.localToApplication();
                 config.localToPermanent(uri);
             } catch (IOException ex) {
-                throw new LucidRuntimeException(UserMsg.CONFIG_SAVE_FAILED, ex, new Object[] {
-                    uri
-                });
+                // TRANSLATOR: Common error condition: Preferences could not be saved. {0} is a placeholder for the preference file.
+                throw new LucidRuntimeException(UserMsg.gettext("Could not save preferences: {0}", new Object[] { uri }), ex);
             }
         }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/DirectoryField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/DirectoryField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/DirectoryField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -45,10 +45,10 @@
     public void doBrowse() {
         if (OSType.MAC.equals(OSType.getOSType())) {
             FileDialog chooser = new FileDialog(GuiUtil.getFrame(getParent()), text.getText());
-            String prop = "apple.awt.fileDialogForDirectories"; //$NON-NLS-1$
-            System.setProperty(prop, "true"); //$NON-NLS-1$
+            String prop = "apple.awt.fileDialogForDirectories";
+            System.setProperty(prop, "true");
             chooser.setVisible(true);
-            System.setProperty(prop, "false"); //$NON-NLS-1$
+            System.setProperty(prop, "false");
             String dir = chooser.getFile();
             if (dir != null) {
                 text.setText(dir);

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FieldMap.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FieldMap.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FieldMap.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -67,7 +67,7 @@
                 if (clazz != null) {
                     field = (Field) clazz.newInstance();
                 } else {
-                    log.warn("field type (" + type + ") unregistered."); //$NON-NLS-1$ //$NON-NLS-2$
+                    log.warn("field type (" + type + ") unregistered.");
                     field = new TextField();
                 }
             }
@@ -79,10 +79,10 @@
         }
 
         if (ex != null) {
-            log.warn("field type (" + type + ") initialization failed:", ex); //$NON-NLS-1$ //$NON-NLS-2$
+            log.warn("field type (" + type + ") initialization failed:", ex);
             Reporter.informUser(type, ex);
 
-            log.warn("field type (" + type + ") unregistered."); //$NON-NLS-1$ //$NON-NLS-2$
+            log.warn("field type (" + type + ") unregistered.");
             field = new TextField();
             field.setChoice(type);
         }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FileField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FileField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FileField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -101,7 +101,7 @@
         return this;
     }
 
-    private static final String BROWSE = "Browse"; //$NON-NLS-1$
+    private static final String BROWSE = "Browse";
 
     /**
      * The text field

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/MappedOptionsField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/MappedOptionsField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/MappedOptionsField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -66,12 +66,12 @@
      */
     public void setChoice(Choice param) {
         if (!(param instanceof MappedChoice)) {
-            throw new IllegalArgumentException("Illegal type for Choice. Not a MappedChoice. " + param.getKey()); //$NON-NLS-1$
+            throw new IllegalArgumentException("Illegal type for Choice. Not a MappedChoice. " + param.getKey());
         }
         MappedChoice mc = (MappedChoice) param;
         Map map = mc.getOptions();
         if (map == null) {
-            throw new IllegalArgumentException("getOptions() returns null for option: " + param.getKey()); //$NON-NLS-1$
+            throw new IllegalArgumentException("getOptions() returns null for option: " + param.getKey());
         }
         combo.setModel(new MapComboBoxModel(map));
         combo.setRenderer(new MapEntryRenderer());
@@ -88,7 +88,7 @@
         if (reply instanceof Map.Entry) {
             return ((Map.Entry) reply).getKey().toString();
         }
-        return reply == null ? "" : reply.toString(); //$NON-NLS-1$
+        return reply == null ? "" : reply.toString();
     }
 
     /**
@@ -114,7 +114,7 @@
         // Equate null and empty string
         Object selected = combo.getSelectedItem();
         if (value.length() > 0 && selected != null) {
-            log.warn("Checked for options without finding: '" + value + "'. Defaulting to first option: " + selected); //$NON-NLS-1$//$NON-NLS-2$
+            log.warn("Checked for options without finding: '" + value + "'. Defaulting to first option: " + selected);
         }
     }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -31,13 +31,13 @@
  * @author Joe Walker [joe at eireneh dot com]
  */
 public final class Msg extends MsgBase {
-    static final Msg NAME = new Msg("StringArrayField.Name"); //$NON-NLS-1$
-    static final Msg COMPONENT_EDITOR = new Msg("StringArrayField.ComponentEditor"); //$NON-NLS-1$
-    static final Msg EDIT_CLASS = new Msg("StringArrayField.EditClass"); //$NON-NLS-1$
-    static final Msg NEW_CLASS = new Msg("StringArrayField.NewClass"); //$NON-NLS-1$
+    static final Msg NAME = new Msg("StringArrayField.Name");
+    static final Msg COMPONENT_EDITOR = new Msg("StringArrayField.ComponentEditor");
+    static final Msg EDIT_CLASS = new Msg("StringArrayField.EditClass");
+    static final Msg NEW_CLASS = new Msg("StringArrayField.NewClass");
 
-    static final Msg ERROR = new Msg("OptionsField.Error"); //$NON-NLS-1$
-    static final Msg NO_OPTIONS = new Msg("OptionsField.NoOptions"); //$NON-NLS-1$
+    static final Msg ERROR = new Msg("OptionsField.Error");
+    static final Msg NO_OPTIONS = new Msg("OptionsField.NoOptions");
 
     /**
      * Passthrough ctor

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
 OptionsField.Error=Error
 OptionsField.NoOptions=No Options Set
 StringArrayField.Name=Name

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
 StringArrayField.Name=\u0639\u0633\u0645\u200C\u200C\u200C
 OptionsField.Error=\u0627\u0634\u062A\u0628\u0627
 StringArrayField.ComponentEditor=Component Editor

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_in.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_in.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_in.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
 OptionsField.Error=Kesalahan
 OptionsField.NoOptions=No Options Set
 StringArrayField.Name=Nama

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/Msg_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,6 @@
 StringArrayField.Name=T\u00EAn
-#Name
 OptionsField.Error=L\u1ED7i
-#Error
 StringArrayField.ComponentEditor=S\u1EEDa Components
-#Component Editor
 StringArrayField.NewClass=Class M\u1EDBi
-#New Class
 StringArrayField.EditClass=S\u1EEDa Class
-#Edit Class
-OptionsField.NoOptions=Kh\u00F4ng c\u00F3 tu\u1EF3 ch\u1ECDn
-#No Options Set
+OptionsField.NoOptions=Kh\u00F4ng c\u00F3 tu\u1EF3 ch\u1ECDn
\ No newline at end of file

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/OptionsField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/OptionsField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/OptionsField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -70,7 +70,7 @@
             list = mc.getOptions();
 
             if (list == null) {
-                throw new IllegalArgumentException("getOptions() returns null for option with help text " + mc.getHelpText()); //$NON-NLS-1$
+                throw new IllegalArgumentException("getOptions() returns null for option with help text " + mc.getHelpText());
             }
             combo.setModel(new DefaultComboBoxModel(list));
         } else {
@@ -91,7 +91,7 @@
         if (reply instanceof Map.Entry) {
             return ((Map.Entry) reply).getKey().toString();
         }
-        return reply == null ? "" : reply.toString(); //$NON-NLS-1$
+        return reply == null ? "" : reply.toString();
     }
 
     /**
@@ -125,7 +125,7 @@
 
             combo.setSelectedItem(list[bestMatch]);
             if (bestMatch > 0) {
-                log.warn("Checked for options without finding exact match: '" + value + "'. Best match is: " + combo.getSelectedItem()); //$NON-NLS-1$//$NON-NLS-2$
+                log.warn("Checked for options without finding exact match: '" + value + "'. Best match is: " + combo.getSelectedItem());
                 return;
             }
         }
@@ -133,7 +133,7 @@
         // Equate null and empty string
         Object selected = combo.getSelectedItem();
         if (value.length() > 0 && selected != null) {
-            log.warn("Checked for options without finding: '" + value + "'. Defaulting to first option: " + selected); //$NON-NLS-1$//$NON-NLS-2$
+            log.warn("Checked for options without finding: '" + value + "'. Defaulting to first option: " + selected);
         }
     }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -64,7 +64,7 @@
 
         JPanel buttons = new JPanel(new FlowLayout());
 
-        list.setFont(new Font("Monospaced", Font.PLAIN, 12)); //$NON-NLS-1$
+        list.setFont(new Font("Monospaced", Font.PLAIN, 12));
         list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         // list.setPreferredScrollableViewportSize(new Dimension(30, 100));
 
@@ -197,9 +197,9 @@
         is.defaultReadObject();
     }
 
-    private static final String ADD = "AddPathEntry"; //$NON-NLS-1$
-    private static final String REMOVE = "RemovePathEntry"; //$NON-NLS-1$
-    private static final String UPDATE = "UpdatePathEntry"; //$NON-NLS-1$
+    private static final String ADD = "AddPathEntry";
+    private static final String REMOVE = "RemovePathEntry";
+    private static final String UPDATE = "UpdatePathEntry";
 
     private transient ActionFactory actions;
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField_de.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField_de.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField_de.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,6 +1,6 @@
-#Created by JInto - www.guh-software.de
-#Wed Jan 30 00:01:51 CET 2008
-AddPathEntry.Name=Alias.Add
-RemovePathEntry.Name=Alias.Remove
-UpdatePathEntry.MnemonicKey=
-UpdatePathEntry.Name=Aktualisieren
+
+AddPathEntry.Name = Alias.Add
+
+RemovePathEntry.Name = Alias.Remove
+
+UpdatePathEntry.Name = Aktualisieren

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/StringArrayField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/StringArrayField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/StringArrayField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -71,7 +71,7 @@
 
         JPanel buttons = new JPanel(new FlowLayout());
 
-        list.setFont(new Font("Monospaced", Font.PLAIN, 12)); //$NON-NLS-1$
+        list.setFont(new Font("Monospaced", Font.PLAIN, 12));
         list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 
         JScrollPane scroll = new CWScrollPane(list);
@@ -246,14 +246,14 @@
         private static final long serialVersionUID = 3256444715753878326L;
     }
 
-    private static final String ADD = "AddStringEntry"; //$NON-NLS-1$
-    private static final String REMOVE = "RemoveStringEntry"; //$NON-NLS-1$
-    private static final String UPDATE = "UpdateStringEntry"; //$NON-NLS-1$
+    private static final String ADD = "AddStringEntry";
+    private static final String REMOVE = "RemoveStringEntry";
+    private static final String UPDATE = "UpdateStringEntry";
 
     /**
      * What character do we use to separate strings?
      */
-    private static final String SEPARATOR = "#"; //$NON-NLS-1$
+    private static final String SEPARATOR = "#";
 
     private transient ActionFactory actions;
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TextField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TextField.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TextField.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -62,7 +62,7 @@
      */
     public void setValue(String value) {
         if (value == null) {
-            setText(""); //$NON-NLS-1$
+            setText("");
         } else {
             setText(value);
         }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TreeConfigEditor.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TreeConfigEditor.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TreeConfigEditor.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -80,7 +80,8 @@
         deck = new JPanel();
         layout = new CardLayout();
 
-        blank.add(new JLabel(UserMsg.SELECT_SUBNODE.toString()));
+        // TRANSLATOR: Label indicating that the user should select a preference category.
+        blank.add(new JLabel(UserMsg.gettext("Select a preference category")));
 
         deck.setLayout(layout);
         deck.add(blank, BLANK);
@@ -92,7 +93,7 @@
         tree.setCellRenderer(dtcr);
         tree.setShowsRootHandles(false);
         tree.setRootVisible(false);
-        tree.putClientProperty("JTree.lineStyle", "None"); //$NON-NLS-1$ //$NON-NLS-2$
+        tree.putClientProperty("JTree.lineStyle", "None");
         tree.setSelectionRow(0);
         tree.addTreeSelectionListener(new TreeSelectionListener() {
             public void valueChanged(TreeSelectionEvent ev) {
@@ -106,7 +107,8 @@
         title.setBackground(Color.gray);
         title.setForeground(Color.white);
         title.setOpaque(true);
-        title.setText(UserMsg.PROPERTIES.toString());
+        // TRANSLATOR: This is the label for the banner when one opens Options/Preferences.
+        title.setText(UserMsg.gettext("Preferences"));
         title.setAlignmentX(SwingConstants.LEADING);
 
         panel.setLayout(new BorderLayout());
@@ -186,7 +188,9 @@
             return;
         }
 
-        title.setText(obj + " " + UserMsg.PROPERTIES); //$NON-NLS-1$
+        // TRANSLATOR: This is the label for the banner when one opens a type of Options/Preferences.
+        // {0} is the type of preference, e.g. Bible Display
+        title.setText(UserMsg.gettext("{0} Preferences", obj));
 
         // Get the name of the current deck
         Object[] list = tree.getSelectionPath().getPath();
@@ -214,7 +218,7 @@
     /**
      * The name of the blank tab
      */
-    protected static final String BLANK = "$$BLANK$$"; //$NON-NLS-1$
+    protected static final String BLANK = "$$BLANK$$";
 
     /**
      * The tree containing the Field sets
@@ -423,7 +427,7 @@
         /**
          * The root node
          */
-        private Node root = new Node("", ""); //$NON-NLS-1$//$NON-NLS-2$
+        private Node root = new Node("", "");
     }
 
     /**
@@ -454,7 +458,7 @@
             if (path.length() == 0 || name.length() == 0) {
                 return path + name;
             }
-            return path + "." + name; //$NON-NLS-1$
+            return path + "." + name;
         }
 
         /**

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -31,14 +31,43 @@
  * @author Joe Walker [joe at eireneh dot com]
  */
 public final class UserMsg extends MsgBase {
-    static final UserMsg CONFIG_SAVE_FAILED = new UserMsg("ConfigEditorFactory.ConfigFileFailed"); //$NON-NLS-1$
-    static final UserMsg SELECT_SUBNODE = new UserMsg("TreeConfigEditor.SelectSubnode"); //$NON-NLS-1$
-    static final UserMsg PROPERTIES = new UserMsg("AbstractConfigEditor.Properties"); //$NON-NLS-1$
 
     /**
-     * Passthrough ctor
+     * Get the internationalized text, but return key if key is unknown.
+     * 
+     * @param key
+     * @return the internationalized text
      */
-    private UserMsg(String name) {
-        super(name);
+    public static String gettext(String key)
+    {
+        return msg.lookup(key);
     }
+
+    /**
+     * Get the internationalized text, but return key if key is unknown.
+     * The text requires one parameter to be passed.
+     * 
+     * @param key
+     * @param param
+     * @return the formatted, internationalized text
+     */
+    public static String gettext(String key, Object param)
+    {
+        return msg.toString(key, param);
+    }
+
+    /**
+     * Get the internationalized text, but return key if key is unknown.
+     * The text requires one parameter to be passed.
+     * 
+     * @param key
+     * @param param
+     * @return the formatted, internationalized text
+     */
+    public static String gettext(String key, Object[] params)
+    {
+        return msg.toString(key, params);
+    }
+
+    private static MsgBase msg = new UserMsg();
 }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,7 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
+Could\ not\ save\ preferences\:\ {0} = Could not save preferences: {0}
 
-AbstractConfigEditor.Properties=Preferences
-TreeConfigEditor.SelectSubnode=Select a preference category
-ConfigEditorFactory.ConfigFileFailed=Could not save preferences: {0}
+Preferences = Preferences
+
+Select\ a\ preference\ category = Select a preference category
+
+{0}\ Preferences = {0} Preferences

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_de.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_de.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_de.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,3 +1,8 @@
-AbstractConfigEditor.Properties=Eigenschaften
-ConfigEditorFactory.ConfigFileFailed=Konnte Konfigurationsdatei nicht speichern\: {0}
-TreeConfigEditor.SelectSubnode=W\u00E4hlen Sie links eine Kategorie f\u00FCr weitere Optionen
+
+Could\ not\ save\ preferences\:\ {0} = Konnte Konfigurationsdatei nicht speichern: {0}
+
+Preferences = Eigenschaften
+
+Select\ a\ preference\ category = W\u00E4hlen Sie links eine Kategorie f\u00FCr weitere Optionen
+
+{0}\ Preferences = {0} Eigenschaften
\ No newline at end of file

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,3 +1,4 @@
-AbstractConfigEditor.Properties=\u0627\u0646\u062A\u062E\u0627\u0628\u0647\u0627
-TreeConfigEditor.SelectSubnode=\u0634\u0627\u062C\u0647 \u0627\u0632 \u062F\u0631\u062C\u062A \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F!
-ConfigEditorFactory.ConfigFileFailed=Could not save config file: {0}
+Could\ not\ save\ preferences\:\ {0} = Could not save preferences: {0}
+Preferences = \u0627\u0646\u062A\u062E\u0627\u0628\u0647\u0627
+{0}\ Preferences = {0} \u0627\u0646\u062A\u062E\u0627\u0628\u0647\u0627
+Select\ a\ preference\ category = \u0634\u0627\u062C\u0647 \u0627\u0632 \u062F\u0631\u062C\u062A \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F!

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_in.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_in.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_in.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,4 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
-AbstractConfigEditor.Properties=Preferensi
-TreeConfigEditor.SelectSubnode=Pilih kategori preferensi
-ConfigEditorFactory.ConfigFileFailed=Gagal menyimpan preferensi: {0}
+Could\ not\ save\ preferences\:\ {0} = Gagal menyimpan preferensi: {0}
+Preferences = Preferensi
+{0}\ Preferences = {0} Preferensi
+Select\ a\ preference\ category = Pilih kategori preferensi

Modified: trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,4 +1,4 @@
-
-AbstractConfigEditor.Properties=T\u00EDnh Ch\u1EA5t
-ConfigEditorFactory.ConfigFileFailed=Kh\u00F4ng l\u01B0u \u0111\u01B0\u1EE3c t\u1EADp tin c\u1EA5u h\u00ECnh\: {0}
-TreeConfigEditor.SelectSubnode=Ch\u1ECDn sub-node c\u1EE7a tree cho th\u00EAm tu\u1EF3 ch\u1ECDn n\u1EEFa.
+Could\ not\ save\ preferences\:\ {0} = Kh\u00F4ng l\u01B0u \u0111\u01B0\u1EE3c t\u1EADp tin c\u1EA5u h\u00ECnh: {0}
+Preferences = T\u00EDnh Ch\u1EA5t
+{0}\ Preferences = {0} T\u00EDnh Ch\u1EA5t
+Select\ a\ preference\ category = Ch\u1ECDn sub-node c\u1EE7a tree cho th\u00EAm tu\u1EF3 ch\u1ECDn n\u1EEFa.

Modified: trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -70,7 +70,7 @@
 
         if (small) {
             // They start off at 15pt (on Windows at least)
-            font = new Font("SansSerif", Font.PLAIN, 10); //$NON-NLS-1$
+            font = new Font("SansSerif", Font.PLAIN, 10);
         }
 
         JobManager.addWorkListener(this);
@@ -143,7 +143,7 @@
         ((Job) job).addWorkListener(this);
 
         int i = findEmptyPosition();
-        log.debug("adding job to panel at " + i + ": " + job.getJobName()); //$NON-NLS-1$ //$NON-NLS-2$
+        log.debug("adding job to panel at " + i + ": " + job.getJobName());
 
         JProgressBar progress = new JProgressBar();
         progress.setStringPainted(true);
@@ -181,7 +181,7 @@
 
         int percent = job.getWork();
         StringBuffer buf = new StringBuffer(job.getSectionName());
-        buf.append(": "); //$NON-NLS-1$
+        buf.append(": ");
         buf.append(shaper.shape(Integer.toString(percent)));
         buf.append('%');
         jobdata.getProgress().setString(buf.toString());
@@ -198,7 +198,7 @@
 
         positions.set(jobdata.getIndex(), null);
         jobs.remove(job);
-        log.debug("removing job from panel: " + jobdata.getJob().getJobName()); //$NON-NLS-1$
+        log.debug("removing job from panel: " + jobdata.getJob().getJobName());
 
         this.remove(jobdata.getComponent());
         GuiUtil.refresh(this);
@@ -265,7 +265,7 @@
     /**
      * The key for the Stop action.
      */
-    private static final String STOP = "Stop"; //$NON-NLS-1$
+    private static final String STOP = "Stop";
 
     /**
      * The log stream

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/AbstractLayout.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/AbstractLayout.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/AbstractLayout.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -166,7 +166,7 @@
      */
     /* @Override */
     public String toString() {
-        return getClass().getName() + "[hgap=" + hgap + ",vgap=" + vgap + ']'; //$NON-NLS-1$ //$NON-NLS-2$
+        return getClass().getName() + "[hgap=" + hgap + ",vgap=" + vgap + ']';
     }
 
     /**

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/ActionFactory.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/ActionFactory.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/ActionFactory.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -53,25 +53,29 @@
  * and field is one of the CWAction constants, e.g. LargeIcon. <br/>
  * Field is one of:
  * <ul>
- * <li>Name - This is required. The value is used for the text of the Action.</li>
- * <li>Mnemonic - An upper case letter or other character in the value of the
- * Name field. If found, using a case insensitive search, the mnemonic will
- * cause the corresponding character to be underlined. In a platform dependent
+ * <li>Name - This is required. The value is used for the text of the Action.<br/>
+ * A mnemonic can be specified by preceding the letter with &. Using this letter in
+ * a case insensitive search, the earliest position of that letter will
+ * cause the it to be underlined. In a platform dependent
  * way it provides a keyboard mechanism to fire the action. For example, on
  * Windows, alt + mnemonic will cause a visible, active element with that
  * mnemonic to fire. For this reason, it is important to ensure that two
  * visible, active elements do not have the same mnemonic.<br/>
  * Note: Mnemonics are suppressed on MacOSX.</li>
+ * 
  * <li>ToolTip - A tip to show when the mouse is over an element. If not
  * present, Name is used. This is likely to change. It is redundant to show a
  * tooltip that is identical to the shown text.</li>
+ * 
  * <li>SmallIcon - A 16x16 pixel image to be shown for the item. The value for
  * this is a path which can be found as a resource.<br/>
  * Note: the small icon will be used when actions are tied to menu items and
  * buttons.</li>
+ * 
  * <li>LargeIcon - A 24x24 pixel image to be shown for the item when large items
  * are shown. Currently, these are only used for the ToolBar, when a large
  * toolbar is requested. The value is a resource path to the image.</li>
+ * 
  * <li>AcceleratorKey - A key on the keyboard, which may be specified with 0x25
  * kind of notation.<br/>
  * <br/>
@@ -80,6 +84,7 @@
  * be listed with the name. Note: The accelerator key and it's modifiers are
  * converted into a <code>KeyStroke</code> with
  * <code>KeyStroke.getKeyStroke(key, modifierMask);</code></li>
+ * 
  * <li>AcceleratorKey.Modifier - A comma separated list of ctrl, alt, and shift,
  * indicating what modifiers are necessary for the accelerator.<br/>
  * Note: ctrl will use a platform's command key. On MacOSX this is the
@@ -194,7 +199,7 @@
         }
 
         if (ex != null) {
-            log.error("Could not execute method " + bean.getClass().getName() + "." + methodName + "()", ex); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+            log.error("Could not execute method " + bean.getClass().getName() + "." + methodName + "()", ex);
         }
     }
 
@@ -226,7 +231,7 @@
             }
             return action;
         }
-        log.info("Missing key: '" + key + "'. Known keys are: " + StringUtil.join(actions.keySet().toArray(), ", ")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+        log.info("Missing key: '" + key + "'. Known keys are: " + StringUtil.join(actions.keySet().toArray(), ", "));
         assert false;
 
         CWAction getOutOfJailFreeAction = new CWAction();
@@ -322,7 +327,7 @@
             ResourceBundle resources = ResourceBundle.getBundle(basisName.toString(), Locale.getDefault(), CWClassLoader.instance(basis));
             ResourceBundle controls = null;
             try {
-                basisName.append("_control"); //$NON-NLS-1$
+                basisName.append("_control");
                 controls = ResourceBundle.getBundle(basisName.toString(), Locale.getDefault(), CWClassLoader.instance(basis));
             } catch (MissingResourceException ex) {
                 // It is OK for this to not exist. This just means that the
@@ -341,7 +346,7 @@
 
                     // We know this should never happen because we are merely rebuilding the key.
                     if (nameValue == null) {
-                        log.warn("Missing original key for " + actionName + '.' + Action.NAME); //$NON-NLS-1$
+                        log.warn("Missing original key for " + actionName + '.' + Action.NAME);
                         continue;
                     }
 
@@ -351,7 +356,7 @@
                         String newNameValue = getActionString(aliases, null, newActionName, Action.NAME);
                         // We had a clear request for an Alias. So newNameValue should never be null here.
                         if (newNameValue == null) {
-                            log.warn("Missing alias key for " + actionName + '.' + Action.NAME); //$NON-NLS-1$
+                            log.warn("Missing alias key for " + actionName + '.' + Action.NAME);
                             continue;
                         }
                         nameValue = newNameValue;
@@ -363,25 +368,45 @@
                         tooltip = nameValue;
                     }
 
-                    Integer mnemonic = getMnemonic(nickname, resources, actionName);
+                    // A Mnemonic can be specified by a preceding & in the name
+                    Integer mnemonic = null;
+                    int pos = nameValue.indexOf('&');
+                    int len = nameValue.length();
+                    if (pos == len - 1) {
+                        // There is nothing following the &. Just remove it.
+                        nameValue = nameValue.substring(0, len - 1);
+                    } else if (pos >= 0 && pos < len - 1) {
+                        // Remove the &
+                        StringBuffer buffer = new StringBuffer(nameValue.length() - 1);
+                        if (pos > 0) {
+                            buffer.append(nameValue.substring(0, pos));
+                        }
+                        buffer.append(nameValue.substring(pos + 1));
+
+                        nameValue = buffer.toString();
+
+                        // the mnemonic is now at the position that the & was.
+                        mnemonic = new Integer(nameValue.charAt(pos));
+                    }
+
                     KeyStroke accelerator = getAccelerator(nickname, resources, actionName);
 
                     Icon smallIcon = getIcon(controls, actionName, Action.SMALL_ICON);
                     Icon largeIcon = getIcon(controls, actionName, CWAction.LARGE_ICON);
-                    String enabledStr = getActionString(controls, null, actionName, "Enabled"); //$NON-NLS-1$
+                    String enabledStr = getActionString(controls, null, actionName, "Enabled");
                     boolean enabled = enabledStr == null ? true : Boolean.valueOf(enabledStr).booleanValue();
 
                     CWAction cwAction = new CWAction();
 
                     if (actionName == null || actionName.length() == 0) {
-                        log.warn("Acronymn is missing for CWAction"); //$NON-NLS-1$
+                        log.warn("Acronymn is missing for CWAction");
                     } else {
                         cwAction.putValue(Action.ACTION_COMMAND_KEY, actionName);
                     }
 
                     if (nameValue.length() == 0) {
-                        log.warn("Name is missing for CWAction"); //$NON-NLS-1$
-                        cwAction.putValue(Action.NAME, "?"); //$NON-NLS-1$
+                        log.warn("Name is missing for CWAction");
+                        cwAction.putValue(Action.NAME, "?");
                     } else {
                         cwAction.putValue(Action.NAME, nameValue);
                     }
@@ -402,7 +427,7 @@
                 }
             }
         } catch (MissingResourceException ex) {
-            log.error("Missing resource for class: " + basis.getName()); //$NON-NLS-1$
+            log.error("Missing resource for class: " + basis.getName());
             throw ex;
         }
     }
@@ -448,108 +473,62 @@
     }
 
     /**
-     * Convert the string to a mnemonic
-     */
-    private Integer getMnemonic(ResourceBundle nicknames, ResourceBundle resources, String actionName) {
-        Integer mnemonic = null;
-        String mnemonicStr = getActionString(resources, nicknames, actionName, Action.MNEMONIC_KEY);
-        if (mnemonicStr != null && mnemonicStr.length() > 0) {
-            try {
-                mnemonic = new Integer(getInteger(mnemonicStr));
-            } catch (NumberFormatException ex) {
-                log.warn("Could not parse integer for mnemonic of action " + actionName, ex); //$NON-NLS-1$
-            }
-        }
-        return mnemonic;
-    }
-
-    /**
      * Convert the string to a valid Accelerator (that is a KeyStroke)
      */
     private KeyStroke getAccelerator(ResourceBundle nicknames, ResourceBundle resources, String actionName) {
-        // Create the KeyStroke for the action's shortcut/accelerator
         KeyStroke accelerator = null;
-        String acceleratorStr = getActionString(resources, nicknames, actionName, Action.ACCELERATOR_KEY);
-        if (acceleratorStr != null && acceleratorStr.length() > 0) {
-            String modifierName = Action.ACCELERATOR_KEY + ".Modifiers";  //$NON-NLS-1$
-            // Not every accelerator needs a modifier
-            String modifierSpec = getActionString(resources, nicknames, actionName, modifierName);
-            if (modifierSpec == null) {
-                return accelerator;
-            }
-
-            String[] modifiers = StringUtil.split(modifierSpec, ',');
-
+        String acceleratorSpec = getActionString(resources, nicknames, actionName, Action.ACCELERATOR_KEY);
+        if (acceleratorSpec != null && acceleratorSpec.length() > 0) {
             try {
-                int shortcut = getInteger(acceleratorStr);
-                int keyModifier = getModifier(modifiers);
-
-                // Now we can create it
-                accelerator = KeyStroke.getKeyStroke(shortcut, keyModifier);
+                accelerator = getKeyStroke(acceleratorSpec);
             } catch (NumberFormatException nfe) {
-                log.warn("Could not parse integer for accelerator of action " + actionName, nfe); //$NON-NLS-1$
+                log.warn("Could not parse integer for accelerator of action " + actionName, nfe);
             }
         }
         return accelerator;
     }
 
-    /**
-     * Convert the string to an integer. The string is either a single character
-     * or it is hex number.
-     * 
-     * @return the integer value of the accelerator
-     */
-    private int getInteger(String str) throws NumberFormatException {
-        int val = 0;
-        int length = str.length();
-        if (str.startsWith("0x")) { //$NON-NLS-1$
-            val = Integer.parseInt(str.substring(2), 16);
-        } else if (length == 1) {
-            val = str.charAt(0);
-        } else {
-            val = Integer.parseInt(str);
-        }
+   /**
+    *
+    */
+  private KeyStroke getKeyStroke(String acceleratorSpec) throws NumberFormatException {
+      int keyModifier = 0;
+      int key = 0;
+      String[] parts = StringUtil.split(acceleratorSpec, ',');
+      for (int j = 0; j < parts.length; j++) {
+          String part = parts[j].trim();
+          if ("ctrl".equalsIgnoreCase(part)) {
+              // use this so MacOS users are happy
+              // It will map to the CMD key on Mac; CTRL otherwise.
+              keyModifier |= Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
+          } else if ("shift".equalsIgnoreCase(part)) {
+              keyModifier |= InputEvent.SHIFT_MASK;
+          } else if ("alt".equalsIgnoreCase(part)) {
+              keyModifier |= InputEvent.ALT_MASK;
+          } else if (part.startsWith("0x")) {
+              key = Integer.parseInt(part.substring(2), 16);
+          } else if (part.length() == 1) {
+              key = part.charAt(0);
+          }
+      }
+      return KeyStroke.getKeyStroke(key, keyModifier);
+  }
 
-        return val;
-    }
-
     /**
-     *
-     */
-    private int getModifier(String[] modifiers) {
-        int keyModifier = 0;
-        for (int j = 0; j < modifiers.length; j++) {
-            String modifier = modifiers[j];
-            if ("ctrl".equalsIgnoreCase(modifier)) { //$NON-NLS-1$
-                // use this so MacOS users are happy
-                // It will map to the CMD key on Mac; CTRL otherwise.
-                keyModifier |= Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
-            } else if ("shift".equalsIgnoreCase(modifier)) { //$NON-NLS-1$
-                keyModifier |= InputEvent.SHIFT_MASK;
-            } else if ("alt".equalsIgnoreCase(modifier)) { //$NON-NLS-1$
-
-                keyModifier |= InputEvent.ALT_MASK;
-            }
-        }
-
-        return keyModifier;
-    }
-
-    /**
      * The tooltip for actions that we generate to paper around missing
      * resources Normally we would assert, but in live we might want to limp on.
      */
-    private static final String MISSING_RESOURCE = "Missing Resource"; //$NON-NLS-1$
+    private static final String MISSING_RESOURCE = "Missing Resource";
 
     /**
      * The prefix to methods that we call
      */
-    private static final String METHOD_PREFIX = "do"; //$NON-NLS-1$
+    private static final String METHOD_PREFIX = "do";
 
     /**
      * What we lookup
      */
-    private static final String SEPARATOR = "."; //$NON-NLS-1$
+    private static final String SEPARATOR = ".";
 
     /**
      * The test string to find actions
@@ -561,9 +540,9 @@
      */
     private Object bean;
 
-    private static final String ALIASES = "Aliases"; //$NON-NLS-1$
+    private static final String ALIASES = "Aliases";
 
-    private static final String ALIAS = "Alias" + SEPARATOR; //$NON-NLS-1$
+    private static final String ALIAS = "Alias" + SEPARATOR;
 
     /**
      * The log stream
@@ -579,7 +558,7 @@
         try {
             aliases = ResourceBundle.getBundle(ALIASES, Locale.getDefault(), CWClassLoader.instance(ActionFactory.class));
         } catch (MissingResourceException ex) {
-            log.error("Tell me it isn't so. The Aliases.properties does exist!", ex); //$NON-NLS-1$
+            log.error("Tell me it isn't so. The Aliases.properties does exist!", ex);
         }
     }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=A
-Add.Name=Add
-Apply.MnemonicKey=A
-Apply.Name=Apply
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=B
-Back.Name=Back
-Browse.MnemonicKey=B
-Browse.Name=Browse
-Cancel.MnemonicKey=C
-Cancel.Name=Cancel
-Close.MnemonicKey=C
-Close.Name=Close
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=C
-Copy.Name=Copy
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=U
-Cut.Name=Cut
-Delete.MnemonicKey=D
-Delete.Name=Delete
-Edit.MnemonicKey=E
-Edit.Name=Edit
-Finish.MnemonicKey=F
-Finish.Name=Finish
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=F
-Forward.Name=Forward
-Go.MnemonicKey=G
-Go.Name=Go
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=H
-Help.Name=Help
-Next.MnemonicKey=N
-Next.Name=Next
-No.MnemonicKey=N
-No.Name=No
-OK.MnemonicKey=O
-OK.Name=OK
-Remove.MnemonicKey=R
-Remove.Name=Remove
-Reset.MnemonicKey=R
-Reset.Name=Reset
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=S
-Save.Name=Save
-Update.MnemonicKey=U
-Update.Name=Update
-Yes.MnemonicKey=Y
-Yes.Name=Yes
+Add.Name = &Add
+
+Apply.Name = &Apply
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = &Back
+
+Browse.Name = &Browse
+
+Cancel.Name = &Cancel
+
+Close.Name = &Close
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = &Copy
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = C&ut
+
+Delete.Name = &Delete
+
+Edit.Name = &Edit
+
+Finish.Name = &Finish
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = &Forward
+
+Go.Name = Go
+
+Help.AcceleratorKey = 0x70
+Help.Name           = &Help
+
+Next.Name = &Next
+
+No.Name = &No
+
+OK.Name = &OK
+
+Remove.Name = &Remove
+
+Reset.Name = &Reset
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = &Save
+
+Update.Name = &Update
+
+Yes.Name = &Yes

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_de.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_de.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_de.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,56 +1,50 @@
-#Created by JInto - www.guh-software.de
-#Sun Feb 17 21:36:45 CET 2008
-Add.MnemonicKey=
-Add.Name=Hinzuf\u00FCgen
-Apply.MnemonicKey=
-Apply.Name=\u00DCbernehmen
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=
-Back.Name=Zur\u00FCck
-Browse.MnemonicKey=
-Browse.Name=Durchsuchen
-Cancel.MnemonicKey=
-Cancel.Name=Abbrechen
-Close.MnemonicKey=
-Close.Name=Schlie\u00DFen
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=
-Copy.Name=Kopieren
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=alt
-Cut.MnemonicKey=U
-Cut.Name=Ausschneiden
-Delete.MnemonicKey=
-Delete.Name=L\u00F6schen
-Edit.MnemonicKey=
-Edit.Name=Bearbeiten
-Finish.MnemonicKey=
-Finish.Name=Ende
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=Vorw\u00E4rts
-Go.MnemonicKey=G
-Go.Name=Gehe
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=
-Help.Name=Hilfe
-Next.MnemonicKey=
-Next.Name=Weiter
-No.MnemonicKey=N
-No.Name=Nein
-OK.MnemonicKey=O
-OK.Name=OK
-Remove.MnemonicKey=
-Remove.Name=Entfernen
-Reset.MnemonicKey=
-Reset.Name=Zur\u00FCcksetzen
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=S
-Save.Name=Speichern
-Update.MnemonicKey=
-Update.Name=Auffrischen
-Yes.MnemonicKey=J
-Yes.Name=Ja
+
+Add.Name = Hinzuf\u00FCgen
+
+Apply.Name = \u00DCbernehmen
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = Zur\u00FCck
+
+Browse.Name = Durchsuchen
+
+Cancel.Name = Abbrechen
+
+Close.Name = Schlie\u00DFen
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = Kopieren
+
+Cut.AcceleratorKey = X,alt
+Cut.Name           = A&usschneiden
+
+Delete.Name = L\u00F6schen
+
+Edit.Name = Bearbeiten
+
+Finish.Name = Ende
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = Vorw\u00E4rts
+
+Go.Name = Gehe
+
+Help.AcceleratorKey = 0x70
+Help.Name           = Hilfe
+
+Next.Name = Weiter
+
+No.Name = &Nein
+
+OK.Name = &OK
+
+Remove.Name = Entfernen
+
+Reset.Name = Zur\u00FCcksetzen
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = &Speichern
+
+Update.Name = Auffrischen
+
+Yes.Name = &Ja

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=
-Add.Name=\u0627\u0641\u0632\u0648\u062F\u0646
-Apply.MnemonicKey=
-Apply.Name=\u0627\u0646\u062C\u0627\u0645
-Back.AcceleratorKey=0x25
-Back.MnemonicKey=
-Back.Name=\u0639\u0642\u0628 
-Browse.MnemonicKey=
-Browse.Name=\u0627\u0646\u062A\u062E\u0627\u0628
-Cancel.MnemonicKey=
-Cancel.Name=\u0627\u0646\u0636\u0631\u0627\u0641
-Close.MnemonicKey=
-Close.Name=\u0628\u06A9\u0646
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=
-Copy.Name=\u06A9\u067E\u06CC
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=
-Cut.Name=\u0628\u0631\u064A\u062F\u0646
-Delete.MnemonicKey=
-Delete.Name=\u062D\u0632\u0641
-Edit.MnemonicKey=
-Edit.Name=\u0648\u06CC\u0631\u0627\u06CC\u0634
-Finish.MnemonicKey=
-Finish.Name=\u062A\u0645\u0627\u0645
-Forward.AcceleratorKey=0x27
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=\u062C\u0644\u0648 
-Go.MnemonicKey=
-Go.Name=\u0686\u0647\u062A  \u062D\u0631\u06A9\u062A
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=
-Help.Name=\u0631\u0647\u0646\u0646\u0645\u0627
-Next.MnemonicKey=
-Next.Name=\u062C\u0644\u0648
-No.MnemonicKey=
-No.Name=\u0631\u062F
-OK.MnemonicKey=
-OK.Name=\u0642\u0628\u0648\u0644
-Remove.MnemonicKey=
-Remove.Name=\u062D\u0632\u0641 \u06A9\u0631\u062F\u0646
-Reset.MnemonicKey=
-Reset.Name=\u0627\u0632 \u0627\u0648\u0644
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=
-Save.Name=\u0630\u062E\u064A\u0631\u0647 \u0633\u0627\u0632\u06CC
-Update.MnemonicKey=
-Update.Name=\u0628\u0647 \u0631\u0648\u0632 \u06A9\u0631\u062F\u0646
-Yes.MnemonicKey=
-Yes.Name=\u0628\u0644\u0647
+Add.Name = \u0627\u0641\u0632\u0648\u062F\u0646
+
+Apply.Name = \u0627\u0646\u062C\u0627\u0645
+
+Back.AcceleratorKey = 0x25,alt
+Back.Name           = \u0639\u0642\u0628 
+
+Browse.Name = \u0627\u0646\u062A\u062E\u0627\u0628
+
+Cancel.Name = \u0627\u0646\u0636\u0631\u0627\u0641
+
+Close.Name = \u0628\u06A9\u0646
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = \u06A9\u067E\u06CC
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = \u0628\u0631\u064A\u062F\u0646
+
+Delete.Name = \u062D\u0632\u0641
+
+Edit.Name = \u0648\u06CC\u0631\u0627\u06CC\u0634
+
+Finish.Name = \u062A\u0645\u0627\u0645
+
+Forward.AcceleratorKey = 0x27,alt
+Forward.Name           = \u062C\u0644\u0648 
+
+Go.Name = \u0686\u0647\u062A  \u062D\u0631\u06A9\u062A
+
+Help.AcceleratorKey = 0x70
+Help.Name           = \u0631\u0647\u0646\u0646\u0645\u0627
+
+Next.Name = \u062C\u0644\u0648
+
+No.Name = \u0631\u062F
+
+OK.Name = \u0642\u0628\u0648\u0644
+
+Remove.Name = \u062D\u0632\u0641 \u06A9\u0631\u062F\u0646
+
+Reset.Name = \u0627\u0632 \u0627\u0648\u0644
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = \u0630\u062E\u064A\u0631\u0647 \u0633\u0627\u0632\u06CC
+
+Update.Name = \u0628\u0647 \u0631\u0648\u0632 \u06A9\u0631\u062F\u0646
+
+Yes.Name = \u0628\u0644\u0647

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_in.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_in.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_in.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=a
-Add.Name=Tambah
-Apply.MnemonicKey=A
-Apply.Name=Apply
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=
-Back.Name=Kembali
-Browse.MnemonicKey=B
-Browse.Name=Browse
-Cancel.MnemonicKey=B
-Cancel.Name=Batal
-Close.MnemonicKey=T
-Close.Name=Tutup
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=C
-Copy.Name=Copy
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=U
-Cut.Name=Cut
-Delete.MnemonicKey=
-Delete.Name=Hapus
-Edit.MnemonicKey=U
-Edit.Name=Ubah
-Finish.MnemonicKey=S
-Finish.Name=Selesai
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=Maju
-Go.MnemonicKey=G
-Go.Name=Go
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=B
-Help.Name=Bantuan
-Next.MnemonicKey=N
-Next.Name=Berikutnya
-No.MnemonicKey=T
-No.Name=Tidak
-OK.MnemonicKey=O
-OK.Name=OK
-Remove.MnemonicKey=
-Remove.Name=Hapus
-Reset.MnemonicKey=R
-Reset.Name=Reset
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=S
-Save.Name=Simpan
-Update.MnemonicKey=U
-Update.Name=Update
-Yes.MnemonicKey=Y
-Yes.Name=Ya
+Add.Name = T&ambah
+
+Apply.Name = &Apply
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = Kembali
+
+Browse.Name = &Browse
+
+Cancel.Name = &Batal
+
+Close.Name = &Tutup
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = &Copy
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = C&ut
+
+Delete.Name = Hapus
+
+Edit.Name = &Ubah
+
+Finish.Name = &Selesai
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = Maju
+
+Go.Name = Go
+
+Help.AcceleratorKey = 0x70
+Help.Name           = &Bantuan
+
+Next.Name = Berikut&nya
+
+No.Name = &Tidak
+
+OK.Name = &OK
+
+Remove.Name = Hapus
+
+Reset.Name = &Reset
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = &Simpan
+
+Update.Name = &Update
+
+Yes.Name = &Ya

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_tr.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_tr.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_tr.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=
-Add.Name=Add
-Apply.MnemonicKey=
-Apply.Name=Apply
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=
-Back.Name=Back
-Browse.MnemonicKey=
-Browse.Name=Browse
-Cancel.MnemonicKey=
-Cancel.Name=Cancel
-Close.MnemonicKey=
-Close.Name=Close
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=
-Copy.Name=Copy
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=
-Cut.Name=Cut
-Delete.MnemonicKey=
-Delete.Name=Delete
-Edit.MnemonicKey=
-Edit.Name=Ara\u015Ft\u0131rmak
-Finish.MnemonicKey=
-Finish.Name=Finish
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=Forward
-Go.MnemonicKey=G
-Go.Name=Git
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=
-Help.Name=Yard\u0131m
-Next.MnemonicKey=
-Next.Name=Next
-No.MnemonicKey=
-No.Name=No
-OK.MnemonicKey=
-OK.Name=OK
-Remove.MnemonicKey=
-Remove.Name=Remove
-Reset.MnemonicKey=
-Reset.Name=Reset
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=S
-Save.Name=Save
-Update.MnemonicKey=
-Update.Name=Update
-Yes.MnemonicKey=
-Yes.Name=Yes
+Add.Name = Add
+
+Apply.Name = Apply
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = Back
+
+Browse.Name = Browse
+
+Cancel.Name = Cancel
+
+Close.Name = Close
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = Copy
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = Cut
+
+Delete.Name = Delete
+
+Edit.Name = Ara\u015Ft\u0131rmak
+
+Finish.Name = Finish
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = Forward
+
+Go.Name = Git
+
+Help.AcceleratorKey = 0x70
+Help.Name           = Yard\u0131m
+
+Next.Name = Next
+
+No.Name = No
+
+OK.Name = OK
+
+Remove.Name = Remove
+
+Reset.Name = Reset
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = Save
+
+Update.Name = Update
+
+Yes.Name = Yes

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=
-Add.Name=Th\u00EAm
-Apply.MnemonicKey=
-Apply.Name=\u00C1p D\u1EE5ng
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=
-Back.Name=Quay L\u1EA1i
-Browse.MnemonicKey=
-Browse.Name=\u0110\u1ECDc l\u01B0\u1EDBt
-Cancel.MnemonicKey=
-Cancel.Name=B\u1ECF \u0110i
-Close.MnemonicKey=
-Close.Name=Close
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=
-Copy.Name=Ch\u00E9p
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=
-Cut.Name=C\u1EAFt
-Delete.MnemonicKey=
-Delete.Name=Delete
-Edit.MnemonicKey=
-Edit.Name=S\u1EEDa
-Finish.MnemonicKey=
-Finish.Name=K\u1EBFt Th\u00FAc
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=\u0110i T\u1EDBi
-Go.MnemonicKey=
-Go.Name=Chuy\u1EC3n
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=
-Help.Name=Tr\u1EE3 Gi\u00FAp
-Next.MnemonicKey=
-Next.Name=\u0110i T\u1EDBi
-No.MnemonicKey=
-No.Name=Kh\u00F4ng
-OK.MnemonicKey=
-OK.Name=\u0110\u00F3ng
-Remove.MnemonicKey=
-Remove.Name=B\u1ECF \u0110i
-Reset.MnemonicKey=
-Reset.Name=Reset
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=
-Save.Name=L\u01B0u
-Update.MnemonicKey=
-Update.Name=C\u1EADp Nh\u1EADt
-Yes.MnemonicKey=
-Yes.Name=C\u00F3
+Add.Name = Th\u00EAm
+
+Apply.Name = \u00C1p D\u1EE5ng
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = Quay L\u1EA1i
+
+Browse.Name = \u0110\u1ECDc l\u01B0\u1EDBt
+
+Cancel.Name = B\u1ECF \u0110i
+
+Close.Name = Close
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = Ch\u00E9p
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = C\u1EAFt
+
+Delete.Name = Delete
+
+Edit.Name = S\u1EEDa
+
+Finish.Name = K\u1EBFt Th\u00FAc
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = \u0110i T\u1EDBi
+
+Go.Name = Chuy\u1EC3n
+
+Help.AcceleratorKey = 0x70
+Help.Name           = Tr\u1EE3 Gi\u00FAp
+
+Next.Name = \u0110i T\u1EDBi
+
+No.Name = Kh\u00F4ng
+
+OK.Name = \u0110\u00F3ng
+
+Remove.Name = B\u1ECF \u0110i
+
+Reset.Name = Reset
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = L\u01B0u
+
+Update.Name = C\u1EADp Nh\u1EADt
+
+Yes.Name = C\u00F3

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=
-Add.Name=\u589E\u52A0
-Apply.MnemonicKey=
-Apply.Name=\u5957\u7528
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=
-Back.Name=\u4E0A\u3127\u9801
-Browse.MnemonicKey=
-Browse.Name=\u700F\u89BD
-Cancel.MnemonicKey=
-Cancel.Name=\u53D6\u6D88
-Close.MnemonicKey=
-Close.Name=\u95DC\u9589
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=
-Copy.Name=\u8986\u88FD
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=
-Cut.Name=\u526A\u4E0B
-Delete.MnemonicKey=
-Delete.Name=Delete
-Edit.MnemonicKey=
-Edit.Name=\u96E2\u958B
-Finish.MnemonicKey=
-Finish.Name=Finish
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=\u4E0B\u3127\u9801
-Go.MnemonicKey=
-Go.Name=\u57F7\u884C
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=
-Help.Name=\u5E6B\u52A9
-Next.MnemonicKey=
-Next.Name=Next
-No.MnemonicKey=
-No.Name=\u5426\u5B9A
-OK.MnemonicKey=
-OK.Name=\u78BA\u8A8D
-Remove.MnemonicKey=
-Remove.Name=Remove
-Reset.MnemonicKey=R
-Reset.Name=Reset
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=
-Save.Name=\u5132\u5B58
-Update.MnemonicKey=
-Update.Name=Update
-Yes.MnemonicKey=
-Yes.Name=\u78BA\u8A8D
+Add.Name = \u589E\u52A0
+
+Apply.Name = \u5957\u7528
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = \u4E0A\u3127\u9801
+
+Browse.Name = \u700F\u89BD
+
+Cancel.Name = \u53D6\u6D88
+
+Close.Name = \u95DC\u9589
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = \u8986\u88FD
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = \u526A\u4E0B
+
+Delete.Name = Delete
+
+Edit.Name = \u96E2\u958B
+
+Finish.Name = Finish
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = \u4E0B\u3127\u9801
+
+Go.Name = \u57F7\u884C
+
+Help.AcceleratorKey = 0x70
+Help.Name           = \u5E6B\u52A9
+
+Next.Name = Next
+
+No.Name = \u5426\u5B9A
+
+OK.Name = \u78BA\u8A8D
+
+Remove.Name = Remove
+
+Reset.Name = Reset
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = \u5132\u5B58
+
+Update.Name = Update
+
+Yes.Name = \u78BA\u8A8D

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh_CN.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Aliases_zh_CN.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,55 +1,50 @@
 
-Add.MnemonicKey=
-Add.Name=\u589E\u52A0
-Apply.MnemonicKey=
-Apply.Name=\u5957\u7528
-Back.AcceleratorKey=0x27
-Back.MnemonicKey=
-Back.Name=\u4E0A\u3127\u9875
-Browse.MnemonicKey=
-Browse.Name=\u6D4F\u89C8
-Cancel.MnemonicKey=
-Cancel.Name=\u53D6\u6D88
-Close.MnemonicKey=
-Close.Name=\u5173\u95ED
-Copy.AcceleratorKey=C
-Copy.AcceleratorKey.Modifiers=ctrl
-Copy.MnemonicKey=
-Copy.Name=\u9ECF\u8D34
-Cut.AcceleratorKey=X
-Cut.AcceleratorKey.Modifiers=ctrl
-Cut.MnemonicKey=
-Cut.Name=\u526A\u5207
-Delete.MnemonicKey=
-Delete.Name=Delete
-Edit.MnemonicKey=
-Edit.Name=\u7F16\u8F91
-Finish.MnemonicKey=
-Finish.Name=Finish
-Forward.AcceleratorKey=0x25
-Forward.AcceleratorKey.Modifiers=alt
-Forward.MnemonicKey=
-Forward.Name=\u4E0B\u3127\u9875
-Go.MnemonicKey=
-Go.Name=\u6267\u884C
-Help.AcceleratorKey=0x70
-Help.MnemonicKey=
-Help.Name=\u5E2E\u52A9
-Next.MnemonicKey=
-Next.Name=Next
-No.MnemonicKey=
-No.Name=\u5426\u5B9A
-OK.MnemonicKey=
-OK.Name=\u786E\u8BA4
-Remove.MnemonicKey=
-Remove.Name=Remove
-Reset.MnemonicKey=
-Reset.Name=Reset
-Save.AcceleratorKey=S
-Save.AcceleratorKey.Modifiers=ctrl
-Save.MnemonicKey=
-Save.Name=\u50A8\u5B58
-Update.MnemonicKey=
-Update.Name=Update
-Yes.MnemonicKey=
-Yes.Name=\u786E\u8BA4
+Add.Name = \u589E\u52A0
+
+Apply.Name = \u5957\u7528
+
+Back.AcceleratorKey = 0x27,alt
+Back.Name           = \u4E0A\u3127\u9875
+
+Browse.Name = \u6D4F\u89C8
+
+Cancel.Name = \u53D6\u6D88
+
+Close.Name = \u5173\u95ED
+
+Copy.AcceleratorKey = C,ctrl
+Copy.Name           = \u9ECF\u8D34
+
+Cut.AcceleratorKey = X,ctrl
+Cut.Name           = \u526A\u5207
+
+Delete.Name = Delete
+
+Edit.Name = \u7F16\u8F91
+
+Finish.Name = Finish
+
+Forward.AcceleratorKey = 0x25,alt
+Forward.Name           = \u4E0B\u3127\u9875
+
+Go.Name = \u6267\u884C
+
+Help.AcceleratorKey = 0x70
+Help.Name           = \u5E2E\u52A9
+
+Next.Name = Next
+
+No.Name = \u5426\u5B9A
+
+OK.Name = \u786E\u8BA4
+
+Remove.Name = Remove
+
+Reset.Name = Reset
+
+Save.AcceleratorKey = S,ctrl
+Save.Name           = \u50A8\u5B58
+
+Update.Name = Update
+
+Yes.Name = \u786E\u8BA4

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/AltFixedSplitPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/AltFixedSplitPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/AltFixedSplitPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -334,7 +334,7 @@
     /**
      * Property for border visibility
      */
-    public static final String PROPERTYNAME_VISIBLE_DIVIDER_BORDER = "visibleDividerBorder"; //$NON-NLS-1$
+    public static final String PROPERTYNAME_VISIBLE_DIVIDER_BORDER = "visibleDividerBorder";
 
     /**
      * An Empty Border

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/AntiAliasedTextPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/AntiAliasedTextPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/AntiAliasedTextPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -68,7 +68,7 @@
     public static void setAntiAliasing(boolean antiAliasing) {
         AntiAliasedTextPane.antiAliasing = antiAliasing;
         // Set it system wide for the next run
-        System.setProperty("swing.aatext", Boolean.toString(antiAliasing)); //$NON-NLS-1$
+        System.setProperty("swing.aatext", Boolean.toString(antiAliasing));
 
     }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/CWAction.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/CWAction.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/CWAction.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -42,14 +42,14 @@
      * The icon to display when a large one is needed. This is still not part of
      * Java as of 1.5
      */
-    public static final String LARGE_ICON = "LargeIcon"; //$NON-NLS-1$
+    public static final String LARGE_ICON = "LargeIcon";
 
     /**
      * The tooltip to display. This is an alias for SHORT_DESCRIPTION. The
      * creator and user of a CWAction is to store and retrieve
      * SHORT_DESCRIPTION.
      */
-    public static final String TOOL_TIP = "ToolTip"; //$NON-NLS-1$
+    public static final String TOOL_TIP = "ToolTip";
 
     /**
      * Forwards the ActionEvent to the registered listener.
@@ -104,15 +104,15 @@
     public String toString() {
         StringBuffer sb = new StringBuffer();
 
-        sb.append("Name:"); //$NON-NLS-1$
+        sb.append("Name:");
         sb.append((String) getValue(Action.NAME));
-        sb.append("\n Desc:"); //$NON-NLS-1$
+        sb.append("\n Desc:");
         sb.append((String) getValue(Action.SHORT_DESCRIPTION));
-        sb.append("\n    ActionCommandKey:"); //$NON-NLS-1$
+        sb.append("\n    ActionCommandKey:");
         sb.append((String) getValue(Action.ACTION_COMMAND_KEY));
-        sb.append("\n    Enabled:"); //$NON-NLS-1$
+        sb.append("\n    Enabled:");
         sb.append(isEnabled());
-        sb.append("\n    ObjectID:"); //$NON-NLS-1$
+        sb.append("\n    ObjectID:");
         sb.append(System.identityHashCode(this));
         sb.append('\n');
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/CWOptionPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/CWOptionPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/CWOptionPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -57,7 +57,7 @@
      * Creates a <code>CWOptionPane</code> with a test message.
      */
     public CWOptionPane() {
-        this("CWOptionPane message", PLAIN_MESSAGE, DEFAULT_OPTION, null, null, null); //$NON-NLS-1$
+        this("CWOptionPane message", PLAIN_MESSAGE, DEFAULT_OPTION, null, null, null);
     }
 
     /**
@@ -243,7 +243,7 @@
      * @see java.awt.GraphicsEnvironment#isHeadless
      */
     public static String showInputDialog(Component parentComponent, Object message) throws HeadlessException {
-        return showInputDialog(parentComponent, message, "?", QUESTION_MESSAGE); //$NON-NLS-1$
+        return showInputDialog(parentComponent, message, "?", QUESTION_MESSAGE);
     }
 
     /**
@@ -261,7 +261,7 @@
      *            the value used to initialize the input field
      */
     public static String showInputDialog(Component parentComponent, Object message, Object initialSelectionValue) {
-        return (String) showInputDialog(parentComponent, message, "?", QUESTION_MESSAGE, null, null, initialSelectionValue); //$NON-NLS-1$
+        return (String) showInputDialog(parentComponent, message, "?", QUESTION_MESSAGE, null, null, initialSelectionValue);
     }
 
     /**
@@ -367,7 +367,7 @@
      * @see java.awt.GraphicsEnvironment#isHeadless
      */
     public static void showMessageDialog(Component parentComponent, Object message) throws HeadlessException {
-        showOptionDialog(parentComponent, message, "?", DEFAULT_OPTION, INFORMATION_MESSAGE, null, null, null); //$NON-NLS-1$
+        showOptionDialog(parentComponent, message, "?", DEFAULT_OPTION, INFORMATION_MESSAGE, null, null, null);
     }
 
     /**
@@ -444,7 +444,7 @@
      * @see java.awt.GraphicsEnvironment#isHeadless
      */
     public static int showConfirmDialog(Component parentComponent, Object message) throws HeadlessException {
-        return showOptionDialog(parentComponent, message, "?", YES_NO_CANCEL_OPTION, QUESTION_MESSAGE, null, null, null); //$NON-NLS-1$
+        return showOptionDialog(parentComponent, message, "?", YES_NO_CANCEL_OPTION, QUESTION_MESSAGE, null, null, null);
     }
 
     /**
@@ -629,21 +629,21 @@
             return CLOSED_OPTION;
         }
 
-        if (getActionName("Yes").equals(selectedValue)) { //$NON-NLS-1$
+        if (getActionName("Yes").equals(selectedValue)) {
 
             return YES_OPTION;
         }
 
-        if (getActionName("No").equals(selectedValue)) { //$NON-NLS-1$
+        if (getActionName("No").equals(selectedValue)) {
 
             return NO_OPTION;
         }
 
-        if (getActionName("OK").equals(selectedValue)) { //$NON-NLS-1$
+        if (getActionName("OK").equals(selectedValue)) {
             return OK_OPTION;
         }
 
-        if (getActionName("Cancel").equals(selectedValue)) { //$NON-NLS-1$
+        if (getActionName("Cancel").equals(selectedValue)) {
             return CANCEL_OPTION;
         }
 
@@ -749,23 +749,23 @@
         if (options == null) {
             if (optionType == YES_NO_OPTION) {
                 opts = new Object[] {
-                        getActionName("Yes"), //$NON-NLS-1$
-                        getActionName("No") //$NON-NLS-1$
+                        getActionName("Yes"),
+                        getActionName("No")
                 };
             } else if (optionType == OK_CANCEL_OPTION) {
                 opts = new Object[] {
-                        getActionName("OK"), //$NON-NLS-1$
-                        getActionName("Cancel") //$NON-NLS-1$
+                        getActionName("OK"),
+                        getActionName("Cancel")
                 };
             } else if (optionType == YES_NO_CANCEL_OPTION && messageType != INFORMATION_MESSAGE) {
                 opts = new Object[] {
-                        getActionName("Yes"), //$NON-NLS-1$
-                        getActionName("No"), //$NON-NLS-1$
-                        getActionName("Cancel") //$NON-NLS-1$
+                        getActionName("Yes"),
+                        getActionName("No"),
+                        getActionName("Cancel")
                 };
             } else {
                 opts = new Object[] {
-                    getActionName("OK"), //$NON-NLS-1$
+                    getActionName("OK"),
                 };
             }
         }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/ExceptionPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/ExceptionPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/ExceptionPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -85,16 +85,17 @@
      * Setup the GUI
      */
     private void initialise() {
-        MessageFormat msgFormat = new MessageFormat("<html><font size=\"-1\">{0}</font> {1}"); //$NON-NLS-1$
+        MessageFormat msgFormat = new MessageFormat("<html><font size=\"-1\">{0}</font> {1}");
         String exmsg = msgFormat.format(new Object[] {
-                UserMsg.ERROR_OCCURED.toString(), ExceptionPane.getHTMLDescription(ex)
+                // TRANSLATOR: When an error dialog is presented to the user, this labels the error.
+                UserMsg.gettext("An error has occurred:"), ExceptionPane.getHTMLDescription(ex)
         });
 
         // The upper pane
         JLabel message = new JLabel();
         message.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
         message.setText(exmsg);
-        message.setIcon(GuiUtil.getIcon("toolbarButtonGraphics/general/Stop24.gif")); //$NON-NLS-1$
+        message.setIcon(GuiUtil.getIcon("toolbarButtonGraphics/general/Stop24.gif"));
         message.setIconTextGap(20);
 
         JPanel banner = new JPanel(new BorderLayout());
@@ -102,7 +103,7 @@
         list = new JList();
         list.setVisibleRowCount(6);
         list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-        Font courier = new Font("Monospaced", Font.PLAIN, 12); //$NON-NLS-1$
+        Font courier = new Font("Monospaced", Font.PLAIN, 12);
         list.setFont(courier);
 
         JPanel buttons = new JPanel(new BorderLayout());
@@ -113,7 +114,8 @@
         // Add a button if showDetails is true
         detail = new JCheckBox();
         detail.addItemListener(new SelectedItemListener(this));
-        detail.setText(UserMsg.DETAILS.toString());
+        // TRANSLATOR: When an error dialog is presented to the user, this labels the details of the error.
+        detail.setText(UserMsg.gettext("Details"));
         if (detailShown) {
             buttons.add(detail, BorderLayout.LINE_START);
         }
@@ -149,7 +151,8 @@
             label = new JLabel();
             label.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
             label.setFont(courier);
-            label.setText(UserMsg.NO_FILE.toString());
+            // TRANSLATOR: When an error dialog is presented to the user, this indicates that the Java source is unavailable.
+            label.setText(UserMsg.gettext("No File"));
             text = new JTextArea();
             text.setEditable(false);
             text.setFont(courier);
@@ -211,18 +214,21 @@
         // Setting for the whole dialog
         Frame root = GuiUtil.getFrame(parent);
 
+        // TRANSLATOR: When an error dialog is presented to the user, this is the title of the dialog.
+        String error = UserMsg.gettext("Error");
+
         // If this dialog is not modal then if we display an exception dialog
         // where there is a modal dialog displayed then although this dialog
         // is to the front, we can't interact with it until the modal dialog
         // has been closed.
-        final JDialog dialog = new JDialog(root, UserMsg.ERROR.toString(), true);
+        final JDialog dialog = new JDialog(root, error, true);
         dialog.getRootPane().setLayout(new BorderLayout());
         dialog.getRootPane().setBorder(BorderFactory.createMatteBorder(5, 5, 5, 5, pane.upper.getBackground()));
         dialog.getRootPane().add(pane, BorderLayout.CENTER);
 
         final ActionFactory actions = new ActionFactory(ExceptionPane.class, pane);
 
-        JButton ok = actions.createJButton("OK", new ActionListener() //$NON-NLS-1$
+        JButton ok = actions.createJButton("OK", new ActionListener()
                 {
                     public void actionPerformed(ActionEvent e) {
                         dialog.dispose();
@@ -302,11 +308,11 @@
 
         // The message in the exception
         String msg = ex.getMessage();
-        if (msg == null || msg.equals("")) { //$NON-NLS-1$
-            msg = UserMsg.NO_DESC.toString();
+        if (msg == null || msg.equals("")) {
+            msg = UserMsg.gettext("No description available.");
         }
         String orig = XMLUtil.escape(msg);
-        msg = orig.replaceAll("\n", "<br>"); //$NON-NLS-1$ //$NON-NLS-2$
+        msg = orig.replaceAll("\n", "<br>");
 
         // The name of the exception
         /*
@@ -324,15 +330,16 @@
          * retcode.append("<font size=\"-1\"><strong>");
          * retcode.append(classname); retcode.append("</strong></font>");
          */
-        retcode.append("<br>"); //$NON-NLS-1$
+        retcode.append("<br>");
         retcode.append(msg);
 
         // If this is a LucidException with a nested Exception
         Throwable nex = ex.getCause();
         if (nex != null) {
-            retcode.append("<p><br><font size=\"-1\">"); //$NON-NLS-1$
-            retcode.append(UserMsg.CAUSED_BY);
-            retcode.append("</font>"); //$NON-NLS-1$
+            retcode.append("<p><br><font size=\"-1\">");
+            // TRANSLATOR: When an error dialog is presented to the user, this labels the cause of the error.
+            retcode.append(UserMsg.gettext("This was caused by:"));
+            retcode.append("</font>");
             retcode.append(getHTMLDescription(nex));
         }
 
@@ -442,7 +449,8 @@
             int line_num = st.getLineNumber(level);
             String orig = name;
             Integer errorLine = new Integer(line_num);
-            mylabel.setText(UserMsg.NO_FILE.toString());
+            // TRANSLATOR: When an error dialog is presented to the user, this indicates that the Java source is unavailable.
+            mylabel.setText(UserMsg.gettext("No File"));
 
             // Find a file
             name = File.separator + orig.replace('.', File.separatorChar) + FileUtil.EXTENSION_JAVA;
@@ -459,7 +467,10 @@
 
                     LineNumberReader in = null;
                     try {
-                        String found = UserMsg.SOURCE_FOUND.toString(new Object[] {
+                        // TRANSLATOR: When an error dialog is presented to the user, this indicates that the location of the error in the Java source.
+                        // {0} is a placeholder for the line number on which the error occurred.
+                        // {1} is a placeholder for the Java file.
+                        String found = UserMsg.gettext("Error on line {0} in file {1}", new Object[] {
                                 errorLine, file.getCanonicalPath()
                         });
                         mylabel.setText(found);
@@ -501,12 +512,17 @@
                 }
             }
 
-            // If we can't find a matching file
-            StringBuffer error = new StringBuffer(UserMsg.SOURCE_NOT_FOUND.toString(new Object[] {
+            // TRANSLATOR: When an error dialog is presented to the user, this indicates that the Java source could not be found.
+            // {1} is a placeholder for the line number on which the error occurred.
+            // {0} is a placeholder for the Java file.
+            StringBuffer error = new StringBuffer(UserMsg.gettext("Cannot open source for: {0}, line: {1}\n", new Object[] {
                     st.getClassName(level), errorLine
             }));
             for (int i = 0; i < srcs.length; i++) {
-                error.append(UserMsg.SOURCE_ATTEMPT.toString(new Object[] {
+                // TRANSLATOR: When an error dialog is presented to the user, and the Java source could not be found
+                // this indicates what locations were tried.
+                // {0} is a placeholder for the location.
+                error.append(UserMsg.gettext("Tried: {0}\n", new Object[] {
                     srcs[i].getAbsolutePath() + name
                 }));
             }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/FixedSplitPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/FixedSplitPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/FixedSplitPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -255,7 +255,7 @@
     /**
      * Property for border visibility
      */
-    public static final String PROPERTYNAME_VISIBLE_DIVIDER_BORDER = "visibleDividerBorder"; //$NON-NLS-1$
+    public static final String PROPERTYNAME_VISIBLE_DIVIDER_BORDER = "visibleDividerBorder";
 
     /**
      * An Empty Border

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/FontChooser.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/FontChooser.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/FontChooser.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -66,11 +66,13 @@
         };
 
         font = DEFAULT_FONT.getFont();
+        name = new FontNameComboBox();
         name.setModel(new CustomComboBoxModel());
         name.setRenderer(new CustomListCellRenderer());
         name.setSelectedItem(font.deriveFont(Font.PLAIN, RENDERED_FONT_SIZE));
         name.addItemListener(changer);
 
+        size = new JComboBox();
         size.setRenderer(new NumberCellRenderer());
         for (int i = MIN_FONT_SIZE; i <= MAX_FONT_SIZE; i++) {
             size.addItem(new Integer(i));
@@ -79,9 +81,13 @@
         size.setSelectedItem(new Integer(RENDERED_FONT_SIZE));
         size.addItemListener(changer);
 
+        // TRANSLATOR: This is an option for a bold font.
+        bold = new JCheckBox(UserMsg.gettext("Bold"));
         bold.setSelected(font.isBold());
         bold.addItemListener(changer);
 
+        // TRANSLATOR: This is an option for an italic font.
+        italic = new JCheckBox(UserMsg.gettext("Italic"));
         italic.setSelected(font.isItalic());
         italic.addItemListener(changer);
 
@@ -112,14 +118,14 @@
 
         final ActionFactory actions = new ActionFactory(FontChooser.class, fontc);
 
-        JButton ok = actions.createJButton("OK", new ActionListener() //$NON-NLS-1$
+        JButton ok = actions.createJButton("OK", new ActionListener()
                 {
                     public void actionPerformed(ActionEvent ex) {
                         fontc.dialog.setVisible(false);
                     }
                 });
 
-        JButton cancel = actions.createJButton("Cancel", new ActionListener() //$NON-NLS-1$
+        JButton cancel = actions.createJButton("Cancel", new ActionListener()
                 {
                     public void actionPerformed(ActionEvent ex) {
                         fontc.dialog.setVisible(false);
@@ -132,7 +138,8 @@
         buttons.add(ok);
         buttons.add(cancel);
 
-        fontc.setBorder(BorderFactory.createTitledBorder(UserMsg.SELECT_FONT.toString()));
+        // TRANSLATOR: Label indicating that the user should select a font.
+        fontc.setBorder(BorderFactory.createTitledBorder(UserMsg.gettext("Select Font")));
 
         fontc.dialog.getRootPane().setDefaultButton(ok);
         fontc.dialog.getContentPane().setLayout(new BorderLayout());
@@ -217,7 +224,7 @@
                 // We need to exclude certain fonts that cause the JVM to crash.
                 // BUG_PARADE(DMS): 6376296
                 // It will be fixed in Java 1.6 (Mustang)
-                if (names[i].equals("padmaa") || names[i].equals("Rekha") || names[i].indexOf("Lohit") > -1 || names[i].indexOf("aakar") > -1) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+                if (names[i].equals("padmaa") || names[i].equals("Rekha") || names[i].indexOf("Lohit") > -1 || names[i].indexOf("aakar") > -1)
                 {
                     continue;
                 }
@@ -307,7 +314,7 @@
         public Component getListCellRendererComponent(JList listbox, Object value, int index, boolean selected, boolean focus) {
             Font defaultFont = DEFAULT_FONT.getFont();
             if (value == null) {
-                setText("<null>"); //$NON-NLS-1$
+                setText("<null>");
                 setFont(defaultFont);
             } else {
                 Font afont = (Font) value;
@@ -349,7 +356,7 @@
         private static final long serialVersionUID = -7394816349446551753L;
     }
 
-    public static final String PROPERTY_STYLE = "style"; // //$NON-NLS-1$
+    public static final String PROPERTY_STYLE = "style";
 
     /**
      * A label that we can use to get defaults
@@ -384,22 +391,22 @@
     /**
      * The choice of font name
      */
-    protected JComboBox name = new FontNameComboBox();
+    protected JComboBox name;
 
     /**
      * Bold font?
      */
-    protected JCheckBox bold = new JCheckBox(UserMsg.BOLD.toString());
+    protected JCheckBox bold;
 
     /**
      * Italic font?
      */
-    protected JCheckBox italic = new JCheckBox(UserMsg.ITALIC.toString());
+    protected JCheckBox italic;
 
     /**
      * The font size
      */
-    protected JComboBox size = new JComboBox();
+    protected JComboBox size;
 
     /**
      * Are we doing some processing, that makes us not want to send events?

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/FontStore.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/FontStore.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/FontStore.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -76,7 +76,7 @@
      */
     public FontStore(String storeName, URI fontDir) {
         if (fontDir == null) {
-            throw new IllegalArgumentException("fontStore cannot be null"); //$NON-NLS-1$
+            throw new IllegalArgumentException("fontStore cannot be null");
         }
         this.storeName = storeName;
         this.fontStore = NetUtil.lengthenURI(fontDir, this.storeName + FileUtil.EXTENSION_PROPERTIES);
@@ -274,7 +274,7 @@
             fontMap = ResourceUtil.getProperties(storeName);
             loaded = true;
         } catch (IOException e) {
-            log.error("Unable to load the font store: " + fontStore); //$NON-NLS-1$
+            log.error("Unable to load the font store: " + fontStore);
             fontMap = new Properties();
         }
     }
@@ -288,7 +288,7 @@
         try {
             NetUtil.storeProperties(fontMap, fontStore, storeName);
         } catch (IOException ex) {
-            log.error("Failed to save BibleDesktop UI Translation", ex); //$NON-NLS-1$
+            log.error("Failed to save BibleDesktop UI Translation", ex);
         }
     }
 
@@ -306,9 +306,9 @@
         return null;
     }
 
-    protected static final String DEFAULT_FONT = "Dialog-PLAIN-12"; //$NON-NLS-1$
-    protected static final String LANG_KEY_PREFIX = "lang."; //$NON-NLS-1$
-    protected static final String DEFAULT_KEY = "default"; //$NON-NLS-1$
+    protected static final String DEFAULT_FONT = "Dialog-PLAIN-12";
+    protected static final String LANG_KEY_PREFIX = "lang.";
+    protected static final String DEFAULT_KEY = "default";
 
     private String storeName;
     private String defaultFont;

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/FormPane.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/FormPane.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/FormPane.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -136,8 +136,8 @@
         return list;
     }
 
-    private static final String SUFFIX_COMP = "_comp"; //$NON-NLS-1$
-    private static final String SUFFIX_LABEL = "_label"; //$NON-NLS-1$
+    private static final String SUFFIX_COMP = "_comp";
+    private static final String SUFFIX_LABEL = "_label";
 
     /**
      * Serialization ID

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiConvert.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiConvert.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiConvert.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -54,7 +54,7 @@
      * @return the converted data
      */
     public static Font string2Font(String value) {
-        if (value == null || value.equals("")) { //$NON-NLS-1$
+        if (value == null || value.equals("")) {
             return null;
         }
 
@@ -64,9 +64,9 @@
         }
 
         // old way
-        String[] values = StringUtil.split(value, ","); //$NON-NLS-1$
+        String[] values = StringUtil.split(value, ",");
         if (values.length != 3) {
-            log.warn("Illegal font name: " + value); //$NON-NLS-1$
+            log.warn("Illegal font name: " + value);
             return null;
         }
         return new Font(values[0], Integer.parseInt(values[1]), Integer.parseInt(values[2]));
@@ -82,18 +82,18 @@
      */
     public static String font2String(Font font) {
         if (font == null) {
-            return ""; //$NON-NLS-1$
+            return "";
         }
 
-        String strStyle = "plain"; //$NON-NLS-1$
+        String strStyle = "plain";
 
         if (font.isBold()) {
-            strStyle = font.isItalic() ? "bolditalic" : "bold"; //$NON-NLS-1$ //$NON-NLS-2$
+            strStyle = font.isItalic() ? "bolditalic" : "bold";
         } else if (font.isItalic()) {
-            strStyle = "italic"; //$NON-NLS-1$
+            strStyle = "italic";
         }
 
-        return font.getName() + "-" + strStyle + "-" + font.getSize(); //$NON-NLS-1$ //$NON-NLS-2$
+        return font.getName() + "-" + strStyle + "-" + font.getSize();
     }
 
     /**
@@ -123,12 +123,12 @@
      * @return the converted data
      */
     public static Color string2Color(String value) {
-        if (value == null || value.equals("")) { //$NON-NLS-1$
+        if (value == null || value.equals("")) {
             return null;
         }
 
         if (value.length() != 7) {
-            log.warn("Illegal colour name: " + value); //$NON-NLS-1$
+            log.warn("Illegal colour name: " + value);
             return null;
         }
 
@@ -150,18 +150,18 @@
      */
     public static String color2String(Color color) {
         if (color == null) {
-            return ""; //$NON-NLS-1$
+            return "";
         }
 
-        String red = "00" + Integer.toHexString(color.getRed()); //$NON-NLS-1$
-        String green = "00" + Integer.toHexString(color.getGreen()); //$NON-NLS-1$
-        String blue = "00" + Integer.toHexString(color.getBlue()); //$NON-NLS-1$
+        String red = "00" + Integer.toHexString(color.getRed());
+        String green = "00" + Integer.toHexString(color.getGreen());
+        String blue = "00" + Integer.toHexString(color.getBlue());
 
         red = red.substring(red.length() - 2);
         green = green.substring(green.length() - 2);
         blue = blue.substring(blue.length() - 2);
 
-        return "#" + red + green + blue; //$NON-NLS-1$
+        return "#" + red + green + blue;
     }
 
     /**

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiUtil.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiUtil.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiUtil.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -78,7 +78,7 @@
             URL url = ResourceUtil.getResource(name);
             return new ImageIcon(url);
         } catch (MissingResourceException ex) {
-            log.error("Failed to find icon name='" + name + "'", ex); //$NON-NLS-1$ //$NON-NLS-2$
+            log.error("Failed to find icon name='" + name + "'", ex);
             return null;
         }
     }
@@ -140,7 +140,7 @@
             // and we may be able to do better than that. Unfortunately the
             // getSharedOwnerFrame() method is not public so we have to trick
             // our way to finding if we got a duff default
-            if (!option.getClass().getName().startsWith("javax.swing.SwingUtilities$")) //$NON-NLS-1$
+            if (!option.getClass().getName().startsWith("javax.swing.SwingUtilities$"))
             {
                 // So we think the JOptionPane root frame is our creation
                 return option;
@@ -279,7 +279,7 @@
         honoredDim.width = finalDim.width;
         honoredDim.height = finalDim.height;
 
-        log.warn("Window size was: " + requestedDim + " is: " + honoredDim); //$NON-NLS-1$ //$NON-NLS-2$
+        log.warn("Window size was: " + requestedDim + " is: " + honoredDim);
 
         return honoredState;
     }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/LookAndFeelUtil.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/LookAndFeelUtil.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/LookAndFeelUtil.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -143,7 +143,7 @@
     /**
      * The font to be used for the application
      */
-    private static String font = "Dialog-PLAIN-12"; //$NON-NLS-1$
+    private static String font = "Dialog-PLAIN-12";
 
     /**
      * Setup the default PLAF
@@ -154,13 +154,13 @@
         try {
             // Note: GTK looks good under Java 1.5, but is broken.
             // Motif still does not look good.
-            if (systemLAF.indexOf("WindowsLookAndFeel") != -1 || //$NON-NLS-1$
-                    //systemLAF.indexOf("GTKLookAndFeel") != -1 || //$NON-NLS-1$
-                    systemLAF.indexOf("AquaLookAndfeel") != -1) //$NON-NLS-1$
+            if (systemLAF.indexOf("WindowsLookAndFeel") != -1 ||
+                    //systemLAF.indexOf("GTKLookAndFeel") != -1 ||
+                    systemLAF.indexOf("AquaLookAndfeel") != -1)
             {
                 UIManager.setLookAndFeel(systemLAF);
                 // MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());
-                // UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); //$NON-NLS-1$
+                // UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
                 // UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
                 // UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
                 defaultLAF = ClassUtil.forName(systemLAF);
@@ -181,9 +181,9 @@
     private static void customizeBDLookandFeel() {
         String currentLF = UIManager.getLookAndFeel().getClass().getName();
 
-        if (currentLF.indexOf("MetalLookAndFeel") != -1) { //$NON-NLS-1$
+        if (currentLF.indexOf("MetalLookAndFeel") != -1) {
             new MetalLFCustoms().initUIDefaults();
-        } else if (currentLF.indexOf("WindowsLookAndFeel") != -1) { //$NON-NLS-1$
+        } else if (currentLF.indexOf("WindowsLookAndFeel") != -1) {
             new WindowsLFCustoms().initUIDefaults();
         } else {
             new OtherLFCustoms().initUIDefaults();

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/MapTableModel.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/MapTableModel.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/MapTableModel.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -98,7 +98,7 @@
     public void add(String key, String aValue) {
         String value = aValue;
         if (value == null) {
-            value = ""; //$NON-NLS-1$
+            value = "";
         }
 
         if (key == null || key.length() == 0) {

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -31,9 +31,9 @@
  * @author Joe Walker [joe at eireneh dot com]
  */
 final class Msg extends MsgBase {
-    static final Msg PLAF_CHANGE = new Msg("LookAndFeelUtil.PlafChange"); //$NON-NLS-1$
-    static final Msg KEYS = new Msg("MapTableModel.Keys"); //$NON-NLS-1$
-    static final Msg VALUES = new Msg("MapTableModel.Values"); //$NON-NLS-1$
+    static final Msg PLAF_CHANGE = new Msg("LookAndFeelUtil.PlafChange");
+    static final Msg KEYS = new Msg("MapTableModel.Keys");
+    static final Msg VALUES = new Msg("MapTableModel.Values");
 
     /**
      * Passthrough ctor

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
 LookAndFeelUtil.PlafChange=The Look and Feel will change on the next startup.
 MapTableModel.Keys=Keys
 MapTableModel.Values=Values

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,10 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
 LookAndFeelUtil.PlafChange=\u0646\u0645\u0627\u06CC\u0634 \u0627\u06CC\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 \u0634\u0631\u0648\u0639  \u062A\u0627\u0632\u0647 \u0627\u0648\u0632 \u062E\u0648\u0627\u0647\u062F \u0634\u062F
 MapTableModel.Keys=Keys
 MapTableModel.Values=Values

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/Msg_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,13 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
 LookAndFeelUtil.PlafChange=\u0110i\u1EC7n m\u1EA1o s\u1EBD thay \u0111\u1ED5i l\u1EA7n k\u1EBF ti\u1EBFp b\u1EA1n m\u1EDF BibleDesktop.
-#The Look and Feel will change on the next startup.
 MapTableModel.Keys=C\u00E1c Ch\u00ECa Kho\u00E1
-#Keys
-MapTableModel.Values=Gi\u00E1 Tr\u1ECB
-#Values
\ No newline at end of file
+MapTableModel.Values=Gi\u00E1 Tr\u1ECB
\ No newline at end of file

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/NumberCellRenderer.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/NumberCellRenderer.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/NumberCellRenderer.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -59,7 +59,7 @@
         setToolTipText(null);
 
         if (value == null) {
-            setText(""); //$NON-NLS-1$
+            setText("");
             setEnabled(false);
         } else {
             setText(shaper.shape(value.toString()));

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/QuickHelpDialog.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/QuickHelpDialog.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/QuickHelpDialog.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -142,7 +142,7 @@
         setVisible(false);
     }
 
-    private static final String OK = "OK"; //$NON-NLS-1$
+    private static final String OK = "OK";
 
     private transient ActionFactory actions;
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -31,24 +31,43 @@
  * @author Joe Walker [joe at eireneh dot com]
  */
 final class UserMsg extends MsgBase {
-    static final UserMsg ERROR_OCCURED = new UserMsg("ExceptionPane.ErrorOccurred"); //$NON-NLS-1$
-    static final UserMsg DETAILS = new UserMsg("ExceptionPane.Details"); //$NON-NLS-1$
-    static final UserMsg NO_FILE = new UserMsg("ExceptionPane.NoFile"); //$NON-NLS-1$
-    static final UserMsg ERROR = new UserMsg("ExceptionPane.Error"); //$NON-NLS-1$
-    static final UserMsg CAUSED_BY = new UserMsg("ExceptionPane.CausedBy"); //$NON-NLS-1$
-    static final UserMsg NO_DESC = new UserMsg("ExceptionPane.NoDesc"); //$NON-NLS-1$
-    static final UserMsg SOURCE_NOT_FOUND = new UserMsg("ExceptionPane.SourceNotFound"); //$NON-NLS-1$
-    static final UserMsg SOURCE_FOUND = new UserMsg("ExceptionPane.SourceFound"); //$NON-NLS-1$
-    static final UserMsg SOURCE_ATTEMPT = new UserMsg("ExceptionPane.SourceAttempt"); //$NON-NLS-1$
 
-    static final UserMsg SELECT_FONT = new UserMsg("FontChooser.SelectFont"); //$NON-NLS-1$
-    static final UserMsg BOLD = new UserMsg("FontChooser.Bold"); //$NON-NLS-1$
-    static final UserMsg ITALIC = new UserMsg("FontChooser.Italic"); //$NON-NLS-1$
+    /**
+     * Get the internationalized text, but return key if key is unknown.
+     * 
+     * @param key
+     * @return the internationalized text
+     */
+    public static String gettext(String key)
+    {
+        return msg.lookup(key);
+    }
 
     /**
-     * Passthrough ctor
+     * Get the internationalized text, but return key if key is unknown.
+     * The text requires one parameter to be passed.
+     * 
+     * @param key
+     * @param param
+     * @return the formatted, internationalized text
      */
-    private UserMsg(String name) {
-        super(name);
+    public static String gettext(String key, Object param)
+    {
+        return msg.toString(key, param);
     }
+
+    /**
+     * Get the internationalized text, but return key if key is unknown.
+     * The text requires one parameter to be passed.
+     * 
+     * @param key
+     * @param param
+     * @return the formatted, internationalized text
+     */
+    public static String gettext(String key, Object[] params)
+    {
+        return msg.toString(key, params);
+    }
+
+    private static MsgBase msg = new UserMsg();
 }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,20 +1,24 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
 
-ExceptionPane.ErrorOccurred=An error has occurred:
-ExceptionPane.Details=Details
-ExceptionPane.NoFile=No File
-ExceptionPane.Error=Error
-ExceptionPane.CausedBy=This was caused by:
-ExceptionPane.NoDesc=No description available
-ExceptionPane.SourceNotFound=Cannot open source for: {0}, line: {1}\n
-ExceptionPane.SourceFound=Error on line {0} in file {1}
-ExceptionPane.SourceAttempt=Tried: {0}\n
+An\ error\ has\ occurred\: = An error has occurred:
 
-FontChooser.SelectFont=Select Font
-FontChooser.Bold=Bold
-FontChooser.Italic=Italic
+Bold = Bold
+
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1} = Cannot open source for: {0}, line: {1}\n
+
+Details = Details
+
+Error = Error
+
+Error\ on\ line\ {0}\ in\ file\ {1} = Error on line {0} in file {1}
+
+Italic = Italic
+
+No\ File = No File
+
+No\ description\ available. = No description available.
+
+Select\ Font = Select Font
+
+This\ was\ caused\ by\: = This was caused by:
+
+Tried\:\ {0} = Tried: {0}\n

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_de.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_de.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_de.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,24 @@
-ExceptionPane.CausedBy=Verursacht durch\:
-ExceptionPane.Details=Details
-ExceptionPane.Error=Fehler
-ExceptionPane.ErrorOccurred=Ein Fehler ist aufgetreten\:
-ExceptionPane.NoDesc=Keine Beschreibung verf\u00FCgbar
-ExceptionPane.NoFile=Keine Datei
-ExceptionPane.SourceAttempt=Versuche\: {0}\n
-ExceptionPane.SourceFound=Fehler in Zeile {0} in Datei {1}
-ExceptionPane.SourceNotFound=Kann Quelle nicht \u00F6ffnen f\u00FCr\: {0}, Zeile\: {1}\n
-FontChooser.Bold=Fett
-FontChooser.Italic=Kursiv
-FontChooser.SelectFont=Schriftart ausw\u00E4hlen
+
+An\ error\ has\ occurred\: = Ein Fehler ist aufgetreten:
+
+Bold = Fett
+
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1} = Kann Quelle nicht \u00F6ffnen f\u00FCr: {0}, Zeile: {1}\n
+
+Details = Details
+
+Error = Fehler
+
+Error\ on\ line\ {0}\ in\ file\ {1} = Fehler in Zeile {0} in Datei {1}
+
+Italic = Kursiv
+
+No\ File = Keine Datei
+
+No\ description\ available. = Keine Beschreibung verf\u00FCgbar
+
+Select\ Font = Schriftart ausw\u00E4hlen
+
+This\ was\ caused\ by\: = Verursacht durch:
+
+Tried\:\ {0} = Versuche: {0}\n

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,19 +1,24 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
 
-ExceptionPane.ErrorOccurred=\u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0634\u06A9\u0644 \u062F\u0631\u062F
-ExceptionPane.Details=\u062C\u0632\u062B\u06CC\u0627\u062A
-ExceptionPane.NoFile=\u067E\u0631\u0648\u0646\u062F\u0647 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F
-ExceptionPane.Error=\u0627\u0634\u062A\u0628\u0627
-ExceptionPane.CausedBy=\u062F\u0644\u06CC\u0644 \u0627\u06CC\u0646 \u0645\u0634\u06A9\u0644:
-ExceptionPane.NoDesc=\u062F\u0644\u06CC\u0644 \u0627\u06CC\u0646 \u0645\u0634\u06A9\u0644 \u0648\u0686\u0648\u062F \u0646\u062F\u0631\u062F
-ExceptionPane.SourceNotFound=\u0628\u0627\u0632 \u0646\u0634\u062F {0},\u062F\u0631 \u0633\u0637\u0631 {1}\n
-ExceptionPane.SourceFound=\u0645\u0634\u06A9\u0644 \u062F\u0627\u0631 \u0633\u0637\u0631 {0} \u062F\u0631 \u067E\u0631\u0648\u0646\u062F\u0647{1}
-ExceptionPane.SourceAttempt=\u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0631\u062F\u0645: {0}\n
-FontChooser.SelectFont=\u0627\u0646\u062A\u062E\u0627\u0628 \u0641\u0648\u0646\u062A
-FontChooser.Bold=\u062F\u0631\u0634\u062A
-FontChooser.Italic=\u06A9\u062C
+An\ error\ has\ occurred\: = \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0634\u06A9\u0644 \u062F\u0631\u062F
+
+Bold = \u062F\u0631\u0634\u062A
+
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1} = \u0628\u0627\u0632 \u0646\u0634\u062F {0},\u062F\u0631 \u0633\u0637\u0631 {1}\n
+
+Details = \u062C\u0632\u062B\u06CC\u0627\u062A
+
+Error = \u0627\u0634\u062A\u0628\u0627
+
+Error\ on\ line\ {0}\ in\ file\ {1} = \u0645\u0634\u06A9\u0644 \u062F\u0627\u0631 \u0633\u0637\u0631 {0} \u062F\u0631 \u067E\u0631\u0648\u0646\u062F\u0647{1}
+
+Italic = \u06A9\u062C
+
+No\ File = \u067E\u0631\u0648\u0646\u062F\u0647 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u062F
+
+No\ description\ available. = \u062F\u0644\u06CC\u0644 \u0627\u06CC\u0646 \u0645\u0634\u06A9\u0644 \u0648\u0686\u0648\u062F \u0646\u062F\u0631\u062F
+
+Select\ Font = \u0627\u0646\u062A\u062E\u0627\u0628 \u0641\u0648\u0646\u062A
+
+This\ was\ caused\ by\: = \u062F\u0644\u06CC\u0644 \u0627\u06CC\u0646 \u0645\u0634\u06A9\u0644:
+
+Tried\:\ {0} = \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0631\u062F\u0645: {0}\n

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_in.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_in.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_in.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,20 +1,24 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
 
-ExceptionPane.ErrorOccurred=Kesalahan terjadi:
-ExceptionPane.Details=Details
-ExceptionPane.NoFile=Tidak ada Berkas
-ExceptionPane.Error=Kesalahan
-ExceptionPane.CausedBy=Ini disebabkan karena:
-ExceptionPane.NoDesc=Tidak penjelasan
-ExceptionPane.SourceNotFound=Cannot open source for: {0}, line: {1}\n
-ExceptionPane.SourceFound=Kesalahn pada line {0} in file {1}
-ExceptionPane.SourceAttempt=Percobaan: {0}\n
+An\ error\ has\ occurred\: = Kesalahan terjadi:
 
-FontChooser.SelectFont=Pilih Font
-FontChooser.Bold=Tebal
-FontChooser.Italic=Miring
+Bold = Tebal
+
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1} = Cannot open source for: {0}, line: {1}\n
+
+Details = Details
+
+Error = Kesalahan
+
+Error\ on\ line\ {0}\ in\ file\ {1} = Kesalahn pada line {0} in file {1}
+
+Italic = Miring
+
+No\ File = Tidak ada Berkas
+
+No\ description\ available. = Tidak penjelasan
+
+Select\ Font = Pilih Font
+
+This\ was\ caused\ by\: = Ini disebabkan karena:
+
+Tried\:\ {0} = Percobaan: {0}\n

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,32 +1,24 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
-ExceptionPane.ErrorOccurred=M\u1ED9t l\u1ED7i l\u1EA7m \u0111\u00E3 x\u1EA9y ra:
-#An error has occurred:
-ExceptionPane.OK=OK
-ExceptionPane.Details=Chi Ti\u1EBFt
-#Details
-ExceptionPane.NoFile=Kh\u00F4ng C\u00F3 T\u1EADp Tin
-#No File
-ExceptionPane.Error=L\u1ED7i
-#Error
-ExceptionPane.CausedBy=L\u1ED7i n\u00E0y do:
-#This was caused by:
-ExceptionPane.NoDesc=Kh\u00F4ng c\u00F3 m\u00F4 t\u1EA3
-#No description available
-ExceptionPane.SourceNotFound=Kh\u00F4ng m\u1EDF d\u01B0\u1EE3c ngu\u1ED3n g\u1ED1c cho: {0}, d\u00F2ng: {1}\n
-#Cannot open source for: {0}, line: {1}\n
-ExceptionPane.SourceFound=L\u1ED7i t\u1EA1i d\u00F2ng {0} trong t\u1EADp tin {1}
-#Error on line {0} in file {1}
-ExceptionPane.SourceAttempt=Th\u1EED: {0}\n
-#Tried: {0}\n
-FontChooser.SelectFont=Ch\u1ECDn Ph\u00F4ng Ch\u1EEF
-#Select Font
-FontChooser.Bold=Ch\u1EEF \u0110\u1EADm
-#Bold
-FontChooser.Italic=Ch\u1EEF Nghi\u00EAng
-#Italic
+
+An\ error\ has\ occurred\: = M\u1ED9t l\u1ED7i l\u1EA7m \u0111\u00E3 x\u1EA9y ra:
+
+Bold = Ch\u1EEF \u0110\u1EADm
+
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1} = Kh\u00F4ng m\u1EDF d\u01B0\u1EE3c ngu\u1ED3n g\u1ED1c cho: {0}, d\u00F2ng: {1}\n
+
+Details = Chi Ti\u1EBFt
+
+Error = L\u1ED7i
+
+Error\ on\ line\ {0}\ in\ file\ {1} = L\u1ED7i t\u1EA1i d\u00F2ng {0} trong t\u1EADp tin {1}
+
+Italic = Ch\u1EEF Nghi\u00EAng
+
+No\ File = Kh\u00F4ng C\u00F3 T\u1EADp Tin
+
+No\ description\ available. = Kh\u00F4ng c\u00F3 m\u00F4 t\u1EA3
+
+Select\ Font = Ch\u1ECDn Ph\u00F4ng Ch\u1EEF
+
+This\ was\ caused\ by\: = L\u1ED7i n\u00E0y do:
+
+Tried\:\ {0} = Th\u1EED: {0}\n

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/AbstractViewLayout.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/AbstractViewLayout.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/AbstractViewLayout.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -219,7 +219,7 @@
                 if (title.length() <= MAX_TITLE_LEN) {
                     return title;
                 }
-                return title.substring(0, MAX_TITLE_LEN - 3) + "..."; //$NON-NLS-1$
+                return title.substring(0, MAX_TITLE_LEN - 3) + "...";
             }
 
             // should set the title also
@@ -234,7 +234,9 @@
      * @return the generated title
      */
     private String generateTitle() {
-        return UserMsg.UNTITLED.toString(new Integer(base++));
+        // TRANSLATOR: This is the label on a Bible View tab when it is cleared.
+        // {0} is a number to make the label unique.
+        return UserMsg.gettext("Untitled {0}", new Integer(base++));
     }
 
     /**

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutPersistence.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutPersistence.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutPersistence.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -98,12 +98,12 @@
         settings.setProperty(window.getName(), StringUtil.join(new String[] {
                 Integer.toString(state), Integer.toString(window.getWidth()), Integer.toString(window.getHeight()), Integer.toString(window.getX()),
                 Integer.toString(window.getY())
-        }, "_") //$NON-NLS-1$
+        }, "_")
                 );
 
         try {
             URI outputURI = CWProject.instance().getWritableURI(getClass().getName(), FileUtil.EXTENSION_PROPERTIES);
-            NetUtil.storeProperties(settings, outputURI, "Persistent Window properties"); //$NON-NLS-1$
+            NetUtil.storeProperties(settings, outputURI, "Persistent Window properties");
         } catch (IOException ex) {
             log.error(ex.getLocalizedMessage(), ex);
         }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutType.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutType.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutType.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -39,7 +39,7 @@
     /**
      * Tabbed View
      */
-    public static final LayoutType TDI = new LayoutType("TDI") //$NON-NLS-1$
+    public static final LayoutType TDI = new LayoutType("TDI")
     {
         /*
          * (non-Javadoc)
@@ -56,7 +56,9 @@
          * @see org.crosswire.common.swing.desktop.LayoutType#toString()
          */
         public String toString() {
-            return UserMsg.TDI.toString();
+            // TRANSLATOR: This is the name of one of two different ways to present Bible Views.
+            // These show up in Options/Preferences.
+            return UserMsg.gettext("Tabbed Document Interface");
         }
 
         /**
@@ -68,7 +70,7 @@
     /**
      * Multiple Document View
      */
-    public static final LayoutType MDI = new LayoutType("MDI") //$NON-NLS-1$
+    public static final LayoutType MDI = new LayoutType("MDI")
     {
         /*
          * (non-Javadoc)
@@ -85,7 +87,9 @@
          * @see org.crosswire.common.swing.desktop.LayoutType#toString()
          */
         public String toString() {
-            return UserMsg.MDI.toString();
+            // TRANSLATOR: This is the name of one of two different ways to present Bible Views.
+            // These show up in Options/Preferences.
+            return UserMsg.gettext("Multiple Document Interface");
         }
 
         /**

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/MDIViewLayout.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/MDIViewLayout.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/MDIViewLayout.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -257,7 +257,7 @@
             // Don't allow the last one to be closed.
             String name = evt.getPropertyName();
             if (name.equals(JInternalFrame.IS_CLOSED_PROPERTY) && MDIViewLayout.this.desk.getComponentCount() == 1) {
-                throw new PropertyVetoException("Cannot close the last window", evt); //$NON-NLS-1$
+                throw new PropertyVetoException("Cannot close the last window", evt);
             }
         }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TDIViewLayout.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TDIViewLayout.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TDIViewLayout.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -46,9 +46,9 @@
     public TDIViewLayout() {
         super();
         tabs = new JTabbedPane();
-        if (UIManager.getDefaults().containsKey("BibleViewPane.TabbedPaneUI")) //$NON-NLS-1$
+        if (UIManager.getDefaults().containsKey("BibleViewPane.TabbedPaneUI"))
         {
-            tabs.setUI((TabbedPaneUI) UIManager.get("BibleViewPane.TabbedPaneUI")); //$NON-NLS-1$
+            tabs.setUI((TabbedPaneUI) UIManager.get("BibleViewPane.TabbedPaneUI"));
         }
         tabs.setMinimumSize(new Dimension(0, 0));
         GuiUtil.applyDefaultOrientation(tabs);

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TabbedPanePanel.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TabbedPanePanel.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TabbedPanePanel.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -58,7 +58,7 @@
     }
 
     private void init() {
-        this.setBorder(UIManager.getBorder("TabbedPanePanel.border")); //$NON-NLS-1$
+        this.setBorder(UIManager.getBorder("TabbedPanePanel.border"));
         GuiUtil.applyDefaultOrientation(this);
     }
 

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -230,9 +230,9 @@
         is.defaultReadObject();
     }
 
-    private static final String TOOLBAR_TOGGLE = "ToolBarToggle"; //$NON-NLS-1$
-    private static final String TOOLBAR_TEXT = "ToolBarText"; //$NON-NLS-1$
-    private static final String TOOLBAR_LARGE = "ToolBarLarge"; //$NON-NLS-1$
+    private static final String TOOLBAR_TOGGLE = "ToolBarToggle";
+    private static final String TOOLBAR_TEXT = "ToolBarText";
+    private static final String TOOLBAR_LARGE = "ToolBarLarge";
 
     /**
      * The frame in which the toolbar is shown. It must be border layout with

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,10 @@
 
-ToolBarLarge.MnemonicKey=L
-ToolBarLarge.Name=Large Tool Bar
-ToolBarLarge.ToolTip=Toggle size of the tool bar icons
-ToolBarText.MnemonicKey=T
-ToolBarText.Name=Show Tool Bar Text
-ToolBarText.ToolTip=Toggle the display of the tool bar text
-ToolBarToggle.AcceleratorKey=B
-ToolBarToggle.AcceleratorKey.Modifiers=ctrl
-ToolBarToggle.MnemonicKey=B
-ToolBarToggle.Name=Show Tool Bar
-ToolBarToggle.ToolTip=Toggle the display of the tool bar
+ToolBarLarge.Name    = Large Tool Bar
+ToolBarLarge.ToolTip = Toggle size of the tool bar icons
+
+ToolBarText.Name    = Show Tool Bar Text
+ToolBarText.ToolTip = Toggle the display of the tool bar text
+
+ToolBarToggle.AcceleratorKey = B,ctrl
+ToolBarToggle.Name           = Show Tool Bar
+ToolBarToggle.ToolTip        = Toggle the display of the tool bar

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_de.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_de.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_de.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,9 @@
 
-ToolBarLarge.MnemonicKey=
-ToolBarLarge.Name=Gro\u00DFe Symbole
-ToolBarLarge.ToolTip=Schalte Symbolleiste gro\u00DF/klein
-ToolBarText.MnemonicKey=
-ToolBarText.Name=Zeige Symbole mit Text
-ToolBarText.ToolTip=Schalte Symbolleisten-Text an/aus
-ToolBarToggle.AcceleratorKey=
-ToolBarToggle.AcceleratorKey.Modifiers=
-ToolBarToggle.MnemonicKey=
-ToolBarToggle.Name=Zeige Symbolleiste
-ToolBarToggle.ToolTip=Schalte Symbolleiste an/aus
+ToolBarLarge.Name    = Gro\u00DFe Symbole
+ToolBarLarge.ToolTip = Schalte Symbolleiste gro\u00DF/klein
+
+ToolBarText.Name    = Zeige Symbole mit Text
+ToolBarText.ToolTip = Schalte Symbolleisten-Text an/aus
+
+ToolBarToggle.Name                     = Zeige Symbolleiste
+ToolBarToggle.ToolTip                  = Schalte Symbolleiste an/aus

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,9 @@
 
-ToolBarLarge.MnemonicKey=
-ToolBarLarge.Name=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
-ToolBarLarge.ToolTip=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
-ToolBarText.MnemonicKey=
-ToolBarText.Name=\u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
-ToolBarText.ToolTip=\u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
-ToolBarToggle.AcceleratorKey=
-ToolBarToggle.AcceleratorKey.Modifiers=
-ToolBarToggle.MnemonicKey=
-ToolBarToggle.Name=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
-ToolBarToggle.ToolTip=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+ToolBarLarge.Name    = \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
+ToolBarLarge.ToolTip = \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
+
+ToolBarText.Name    = \u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+ToolBarText.ToolTip = \u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+
+ToolBarToggle.Name                     = \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+ToolBarToggle.ToolTip                  = \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_in.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_in.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_in.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,9 @@
 
-ToolBarLarge.MnemonicKey=L
-ToolBarLarge.Name=Besar Tool Bar
-ToolBarLarge.ToolTip=Tuas untuk tool bar ikon
-ToolBarText.MnemonicKey=T
-ToolBarText.Name=Tampilkan Tool Bar Teks
-ToolBarText.ToolTip=Tuas untuk tool bar teks
-ToolBarToggle.AcceleratorKey=B
-ToolBarToggle.AcceleratorKey.Modifiers=ctrl
-ToolBarToggle.MnemonicKey=B
-ToolBarToggle.Name=Tampilkan Tool Bar
-ToolBarToggle.ToolTip=Tuas untuk tampilan tool bar
+ToolBarLarge.Name    = Besar Tool Bar
+ToolBarLarge.ToolTip = Tuas untuk tool bar ikon
+
+ToolBarText.Name    = Tampilkan Tool Bar Teks
+ToolBarText.ToolTip = Tuas untuk tool bar teks
+
+ToolBarToggle.Name                     = Tampilkan Tool Bar
+ToolBarToggle.ToolTip                  = Tuas untuk tampilan tool bar

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,9 @@
 
-ToolBarLarge.MnemonicKey=
-ToolBarLarge.Name=Thanh C\u00F4ng C\u1EE5 L\u1EDBn
-ToolBarLarge.ToolTip=Ch\u1ECDn C\u1EE1 Bi\u1EC3u T\u01B0\u1EE3ng Thanh C\u00F4ng C\u1EE5
-ToolBarText.MnemonicKey=
-ToolBarText.Name=Hi\u1EC7n B\u1EA3n V\u0103n Thanh C\u00F4ng C\u1EE5
-ToolBarText.ToolTip=Hi\u1EC7n/Gi\u1EA5u B\u1EA3n V\u0103n Thanh C\u00F4ng C\u1EE5
-ToolBarToggle.AcceleratorKey=
-ToolBarToggle.AcceleratorKey.Modifiers=
-ToolBarToggle.MnemonicKey=
-ToolBarToggle.Name=Hi\u1EC7n Thanh C\u00F4ng C\u1EE5
-ToolBarToggle.ToolTip=M\u1EDF/T\u1EAFt Thanh C\u00F4ng C\u1EE5
+ToolBarLarge.Name    = Thanh C\u00F4ng C\u1EE5 L\u1EDBn
+ToolBarLarge.ToolTip = Ch\u1ECDn C\u1EE1 Bi\u1EC3u T\u01B0\u1EE3ng Thanh C\u00F4ng C\u1EE5
+
+ToolBarText.Name    = Hi\u1EC7n B\u1EA3n V\u0103n Thanh C\u00F4ng C\u1EE5
+ToolBarText.ToolTip = Hi\u1EC7n/Gi\u1EA5u B\u1EA3n V\u0103n Thanh C\u00F4ng C\u1EE5
+
+ToolBarToggle.Name                     = Hi\u1EC7n Thanh C\u00F4ng C\u1EE5
+ToolBarToggle.ToolTip                  = M\u1EDF/T\u1EAFt Thanh C\u00F4ng C\u1EE5

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,9 @@
 
-ToolBarLarge.MnemonicKey=
-ToolBarLarge.Name=\u5927\u5DE5\u5177\u5716\u793A
-ToolBarLarge.ToolTip=\u5207\u63DB\u5DE5\u5177\u5716\u793A
-ToolBarText.MnemonicKey=
-ToolBarText.Name=\u5DE5\u5177\u5716\u793A\u6587\u5B57
-ToolBarText.ToolTip=\u5207\u63DB\u5716\u793A\u6587\u5B57
-ToolBarToggle.AcceleratorKey=
-ToolBarToggle.AcceleratorKey.Modifiers=
-ToolBarToggle.MnemonicKey=
-ToolBarToggle.Name=\u5DE5\u5177\u5217
-ToolBarToggle.ToolTip=\u986F\u793A\u5DE5\u5177\u5217
+ToolBarLarge.Name    = \u5927\u5DE5\u5177\u5716\u793A
+ToolBarLarge.ToolTip = \u5207\u63DB\u5DE5\u5177\u5716\u793A
+
+ToolBarText.Name    = \u5DE5\u5177\u5716\u793A\u6587\u5B57
+ToolBarText.ToolTip = \u5207\u63DB\u5716\u793A\u6587\u5B57
+
+ToolBarToggle.Name                     = \u5DE5\u5177\u5217
+ToolBarToggle.ToolTip                  = \u986F\u793A\u5DE5\u5177\u5217

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh_CN.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar_zh_CN.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,9 @@
 
-ToolBarLarge.MnemonicKey=
-ToolBarLarge.Name=\u5927\u5DE5\u5177\u56FE\u793A
-ToolBarLarge.ToolTip=\u5207\u6362\u5DE5\u5177\u56FE\u793A
-ToolBarText.MnemonicKey=
-ToolBarText.Name=\u5DE5\u5177\u56FE\u793A\u6587\u5B57
-ToolBarText.ToolTip=\u5207\u6362\u56FE\u793A\u6587\u5B57
-ToolBarToggle.AcceleratorKey=
-ToolBarToggle.AcceleratorKey.Modifiers=
-ToolBarToggle.MnemonicKey=
-ToolBarToggle.Name=\u5DE5\u5177\u5217
-ToolBarToggle.ToolTip=\u663E\u793A\u5DE5\u5177\u5217
+ToolBarLarge.Name    = \u5927\u5DE5\u5177\u56FE\u793A
+ToolBarLarge.ToolTip = \u5207\u6362\u5DE5\u5177\u56FE\u793A
+
+ToolBarText.Name    = \u5DE5\u5177\u56FE\u793A\u6587\u5B57
+ToolBarText.ToolTip = \u5207\u6362\u56FE\u793A\u6587\u5B57
+
+ToolBarToggle.Name                     = \u5DE5\u5177\u5217
+ToolBarToggle.ToolTip                  = \u663E\u793A\u5DE5\u5177\u5217

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -28,20 +28,46 @@
  * 
  * @see gnu.lgpl.License for license details.<br>
  *      The copyright to this program is held by it's authors.
- * @author Joe Walker [joe at eireneh dot com]
  * @author DM Smith [dmsmith555 at yahoo dot com]
  */
 public final class UserMsg extends MsgBase {
-    // Strings for AbstractViewLayout
-    static final UserMsg UNTITLED = new UserMsg("AbstractViewLayout.Untitled"); //$NON-NLS-1$
-    static final UserMsg TDI = new UserMsg("LayoutType.TDI"); //$NON-NLS-1$
-    static final UserMsg MDI = new UserMsg("LayoutType.MDI"); //$NON-NLS-1$
 
     /**
-     * Passthrough ctor
+     * Get the internationalized text, but return key if key is unknown.
+     * 
+     * @param key
+     * @return the internationalized text
      */
-    private UserMsg(String name) {
-        super(name);
+    public static String gettext(String key)
+    {
+        return msg.lookup(key);
     }
 
+    /**
+     * Get the internationalized text, but return key if key is unknown.
+     * The text requires one parameter to be passed.
+     * 
+     * @param key
+     * @param param
+     * @return the formatted, internationalized text
+     */
+    public static String gettext(String key, Object param)
+    {
+        return msg.toString(key, param);
+    }
+
+    /**
+     * Get the internationalized text, but return key if key is unknown.
+     * The text requires one parameter to be passed.
+     * 
+     * @param key
+     * @param param
+     * @return the formatted, internationalized text
+     */
+    public static String gettext(String key, Object[] params)
+    {
+        return msg.toString(key, params);
+    }
+
+    private static MsgBase msg = new UserMsg();
 }

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,11 +1,5 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
+Multiple\ Document\ Interface = Multiple Document Interface
 
-# Properties for ViewLayout
-AbstractViewLayout.Untitled=Untitled {0}
-LayoutType.TDI=Tabbed Document Interface
-LayoutType.MDI=Multiple Document Interface
+Tabbed\ Document\ Interface = Tabbed Document Interface
+
+Untitled\ {0} = Untitled {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_de.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_de.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_de.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,11 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
-# Properties for ViewLayout
-AbstractViewLayout.Untitled=Ohne Titel {0}
-LayoutType.TDI=Tabbed Document Interface
-LayoutType.MDI=Multiple Document Interface
+Multiple\ Document\ Interface = Multiple Document Interface
+Tabbed\ Document\ Interface = Tabbed Document Interface
+Untitled\ {0} = Ohne Titel {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_fa.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_fa.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_fa.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,12 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
-# Properties for ViewLayout
-AbstractViewLayout.Untitled=\u0628\u06CC \u0646\u0627\u0645 {0}
-LayoutType.TDI= \u0636\u0641\u062D\u0647 \u0647\u0627
-LayoutType.MDI=\u067E\u0646\u062C\u0631\u0647 \u0647\u0627
-
+Multiple\ Document\ Interface = \u067e\u0646\u062c\u0631\u0647 \u0647\u0627
+Tabbed\ Document\ Interface = \u0636\u0641\u062d\u0647 \u0647\u0627
+Untitled\ {0} = \u0628\u06cc \u0646\u0627\u0645 {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_in.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_in.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_in.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,11 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
-# Properties for ViewLayout
-AbstractViewLayout.Untitled=Untitled {0}
-LayoutType.TDI=Antar muka Tabbed
-LayoutType.MDI=Antar muka Multiple Document
+Multiple\ Document\ Interface = Antar muka Multiple Document
+Tabbed\ Document\ Interface = Antar muka Tabbed
+Untitled\ {0} = Untitled {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_vi.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_vi.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_vi.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,14 +1,3 @@
-# The naming convention for the keys in the file is ClassName.MessageName
-# Where ClassName is the name of the class using the property.
-# When the resource is used by more than one class it should be the one
-# that the resource is most closely associated.
-# The MessageName should be mixed case, with a leading capital.
-# It should have no spaces or other punctuation (e.g. _, -, ', ...)
-
-# Properties for ViewLayout
-AbstractViewLayout.Untitled=Kh\u00F4ng T\u00EAn {0}
-#Untitled {0}
-LayoutType.TDI=Ch\u1EBF \u0110\u1ED9 Th\u1EBB Tab
-#Tabbed Document Interface
-LayoutType.MDI=Ch\u1EBF \u0110\u1ED9 C\u1EEDa S\u1ED5 Ti\u1EC3u
-#Multiple Document Interface
+Multiple\ Document\ Interface = Ch\u1ebf \u0110\u1ed9 C\u1eeda S\u1ed5 Ti\u1ec3u
+Tabbed\ Document\ Interface = Ch\u1ebf \u0110\u1ed9 Th\u1ebb Tab
+Untitled\ {0} = Kh\u00f4ng T\u00ean {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,5 +1,5 @@
-#Created by JInto - www.guh-software.de
-#Thu Jan 03 10:31:57 CST 2008
-AbstractViewLayout.Untitled=Untitled {0}
-LayoutType.MDI=\u591A\u6587\u4EF6\u4ECB\u9762
-LayoutType.TDI=\u55AE\u6587\u4EF6\u4ECB\u9762
+Multiple\ Document\ Interface = \u591A\u6587\u4EF6\u4ECB\u9762
+
+Tabbed\ Document\ Interface = \u55AE\u6587\u4EF6\u4ECB\u9762
+
+Untitled\ {0} = Untitled {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties	2010-10-23 20:40:54 UTC (rev 1996)
@@ -1,5 +1,5 @@
-#Created by JInto - www.guh-software.de
-#Thu Jan 03 10:31:57 CST 2008
-AbstractViewLayout.Untitled=Untitled {0}
-LayoutType.MDI=\u591A\u6587\u4EF6\u4ECB\u9762
-LayoutType.TDI=\u5355\u6587\u4EF6\u4ECB\u9762
+Multiple\ Document\ Interface = \u591A\u6587\u4EF6\u4ECB\u9762
+
+Tabbed\ Document\ Interface = \u5355\u6587\u4EF6\u4ECB\u9762
+
+Untitled\ {0} = Untitled {0}

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ViewManager.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ViewManager.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ViewManager.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -456,17 +456,17 @@
         closeOthers(getSelected());
     }
 
-    public static final String TAB_MODE = "TabMode"; //$NON-NLS-1$
-    public static final String WINDOW_MODE = "WindowMode"; //$NON-NLS-1$
-    public static final String NEW_TAB = "NewTab"; //$NON-NLS-1$
-    public static final String CLOSE_VIEW = "CloseView"; //$NON-NLS-1$
-    public static final String CLEAR_VIEW = "ClearView"; //$NON-NLS-1$
-    public static final String CLOSE_ALL_VIEWS = "CloseAllViews"; //$NON-NLS-1$
-    public static final String CLOSE_OTHER_VIEWS = "CloseOtherViews"; //$NON-NLS-1$
-    public static final String OPEN = "Open"; //$NON-NLS-1$
-    public static final String SAVE = "Save"; //$NON-NLS-1$
-    public static final String SAVE_AS = "SaveAs"; //$NON-NLS-1$
-    public static final String SAVE_ALL = "SaveAll"; //$NON-NLS-1$
+    public static final String TAB_MODE = "TabMode";
+    public static final String WINDOW_MODE = "WindowMode";
+    public static final String NEW_TAB = "NewTab";
+    public static final String CLOSE_VIEW = "CloseView";
+    public static final String CLEAR_VIEW = "ClearView";
+    public static final String CLOSE_ALL_VIEWS = "CloseAllViews";
+    public static final String CLOSE_OTHER_VIEWS = "CloseOtherViews";
+    public static final String OPEN = "Open";
+    public static final String SAVE = "Save";
+    public static final String SAVE_AS = "SaveAs";
+    public static final String SAVE_ALL = "SaveAll";
 
     /**
      * The initial layout state

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/MetalLFCustoms.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/MetalLFCustoms.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/MetalLFCustoms.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -51,9 +51,9 @@
                 | MetalPanelBorder.RIGHT), BorderFactory.createEmptyBorder(5, 5, 5, 5));
 
         Object[] metalUIDefaults = new Object[] {
-                "BibleViewPane.TabbedPaneUI", MetalBorderlessTabbedPaneUI.createUI(null), //$NON-NLS-1$
-                "SplitPane.dividerSize", new Integer(5), //$NON-NLS-1$
-                "SelectPanel.border", panelSelectBorder //$NON-NLS-1$
+                "BibleViewPane.TabbedPaneUI", MetalBorderlessTabbedPaneUI.createUI(null),
+                "SplitPane.dividerSize", new Integer(5),
+                "SelectPanel.border", panelSelectBorder
         };
 
         UIManager.getDefaults().putDefaults(metalUIDefaults);

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/OtherLFCustoms.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/OtherLFCustoms.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/OtherLFCustoms.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -49,8 +49,8 @@
         Border panelSelectBorder = BorderFactory.createEmptyBorder(5, 5, 5, 5);
 
         Object[] otherUIDefaults = new Object[] {
-                "TabbedPanePanel.border", tabbedPanePanelBorder, //$NON-NLS-1$
-                "SelectPanel.border", panelSelectBorder //$NON-NLS-1$
+                "TabbedPanePanel.border", tabbedPanePanelBorder,
+                "SelectPanel.border", panelSelectBorder
         };
 
         UIManager.getDefaults().putDefaults(otherUIDefaults);

Modified: trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/WindowsLFCustoms.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/WindowsLFCustoms.java	2010-10-23 20:39:04 UTC (rev 1995)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/plaf/WindowsLFCustoms.java	2010-10-23 20:40:54 UTC (rev 1996)
@@ -50,7 +50,7 @@
     protected void initPlatformUIDefaults() {
         Border tabbedPanePanelBorder = null;
         Color standardBorderColor = null;
-        Object windowsScrollPaneborder = UIManager.get("ScrollPane.border"); //$NON-NLS-1$
+        Object windowsScrollPaneborder = UIManager.get("ScrollPane.border");
         if (windowsScrollPaneborder != null) {
             if (windowsScrollPaneborder instanceof LineBorder) {
                 standardBorderColor = ((LineBorder) windowsScrollPaneborder).getLineColor();
@@ -64,10 +64,10 @@
                 .createEmptyBorder(5, 5, 5, 5));
 
         Object[] windowsUIDefaults = new Object[] {
-                "BibleViewPane.TabbedPaneUI", WindowsBorderlessTabbedPaneUI.createUI(null), //$NON-NLS-1$
-                "TabbedPanePanel.border", tabbedPanePanelBorder, //$NON-NLS-1$
-                "StandardBorder.color", standardBorderColor, //$NON-NLS-1$
-                "SelectPanel.border", panelSelectBorder //$NON-NLS-1$
+                "BibleViewPane.TabbedPaneUI", WindowsBorderlessTabbedPaneUI.createUI(null),
+                "TabbedPanePanel.border", tabbedPanePanelBorder,
+                "StandardBorder.color", standardBorderColor,
+                "SelectPanel.border", panelSelectBorder
         };
 
         UIManager.getDefaults().putDefaults(windowsUIDefaults);




More information about the jsword-svn mailing list