[jsword-svn] r2085 - in trunk/common-swing/src/main: java/org/crosswire/common/config/swing java/org/crosswire/common/progress/swing java/org/crosswire/common/swing java/org/crosswire/common/swing/desktop resources/org/crosswire/common/config/swing resources/org/crosswire/common/progress resources/org/crosswire/common/swing resources/org/crosswire/common/swing/desktop
dmsmith at crosswire.org
dmsmith at crosswire.org
Wed Mar 2 20:41:41 MST 2011
Author: dmsmith
Date: 2011-03-02 20:41:41 -0700 (Wed, 02 Mar 2011)
New Revision: 2085
Added:
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh_CN.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_tr.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh_CN.properties
Removed:
trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.java
trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.java
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/BooleanField.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/ButtonPane.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_de.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_fa.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_vi.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh_CN.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField_de.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/StringArrayField.properties
trunk/common-swing/src/main/resources/org/crosswire/common/progress/swing/
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/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/FileField.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/StringArrayField.java
trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TreeConfigEditor.java
trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java
trunk/common-swing/src/main/java/org/crosswire/common/swing/ActionFactory.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/FontChooser.java
trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiUtil.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/desktop/AbstractViewLayout.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/TDIViewLayout.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/ViewManager.java
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_de.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_fa.properties
trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_vi.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_de.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_fa.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_in.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_vi.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_de.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_fa.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_in.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_vi.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh.properties
trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties
Log:
JS-104 Migration to fewer translation files. Now actions are built explicitly. Many changes to ActionFactory. Some not backward compatible.
Now the message files can be merged.
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/AdvancedConfigEditor.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -39,6 +39,7 @@
import org.crosswire.common.config.Choice;
import org.crosswire.common.swing.CWScrollPane;
+import org.crosswire.common.swing.UserMsg;
/**
* A further refinement of a Tree Configuration Editor
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/BooleanField.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -30,6 +30,7 @@
import org.crosswire.common.config.Choice;
import org.crosswire.common.swing.ActionFactory;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.util.Convert;
/**
@@ -44,10 +45,10 @@
* Give the values list (true/false) to the ComboBox
*/
public BooleanField() {
- ActionFactory actions = new ActionFactory(BooleanField.class, this);
+ ActionFactory actions = new ActionFactory(this);
- on = new JRadioButton(actions.getAction(YES));
- off = new JRadioButton(actions.getAction(NO));
+ on = new JRadioButton(actions.addAction("Yes", UserMsg.gettext("Yes")));
+ off = new JRadioButton(actions.addAction("No", UserMsg.gettext("No")));
ButtonGroup group = new ButtonGroup();
group.add(on);
@@ -105,9 +106,6 @@
return this;
}
- 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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ButtonPane.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -32,6 +32,7 @@
import org.crosswire.common.swing.ActionFactory;
import org.crosswire.common.swing.EdgeBorder;
+import org.crosswire.common.swing.UserMsg;
/**
* A pane that contains ok, cancel and apply buttons.
@@ -41,9 +42,6 @@
* @author Joe Walker [joe at eireneh dot com]
*/
public class ButtonPane extends JPanel {
- private static final String OK = "OK";
- private static final String CANCEL = "Cancel";
- private static final String APPLY = "Apply";
/**
* Simple ctor
@@ -57,7 +55,7 @@
* GUI init.
*/
private void init() {
- actions = new ActionFactory(ButtonPane.class, this);
+ actions = new ActionFactory(this);
// PENDING: find some way to do default buttons
// dialog.getRootPane().setDefaultButton(ok);
@@ -67,9 +65,9 @@
buttons.setLayout(new GridLayout(1, 2, 10, 10));
buttons.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
- buttons.add(new JButton(actions.getAction(OK)));
- buttons.add(new JButton(actions.getAction(CANCEL)));
- buttons.add(new JButton(actions.getAction(APPLY)));
+ buttons.add(new JButton(actions.addAction("OK", UserMsg.gettext("OK"))));
+ buttons.add(new JButton(actions.addAction("Cancel", UserMsg.gettext("Cancel"))));
+ buttons.add(new JButton(actions.addAction("Apply", UserMsg.gettext("Apply"))));
this.setBorder(new EdgeBorder(SwingConstants.NORTH));
this.setLayout(new BorderLayout(10, 10));
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/ConfigEditorFactory.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -28,6 +28,7 @@
import java.net.URI;
import org.crosswire.common.config.Config;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.util.LucidRuntimeException;
import org.crosswire.common.util.PluginUtil;
import org.crosswire.common.util.Reporter;
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/FileField.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -31,6 +31,7 @@
import org.crosswire.common.config.Choice;
import org.crosswire.common.swing.ActionFactory;
+import org.crosswire.common.swing.UserMsg;
/**
* A Filename selection.
@@ -44,13 +45,13 @@
* Create a new FileField
*/
public FileField() {
- ActionFactory actions = new ActionFactory(FileField.class, this);
+ ActionFactory actions = new ActionFactory(this);
text = new JTextField();
setLayout(new BorderLayout(10, 0));
add(text, BorderLayout.CENTER);
- add(new JButton(actions.getAction(BROWSE)), BorderLayout.LINE_END);
+ add(new JButton(actions.addAction("Browse", UserMsg.gettext("Browse")).setTooltip(UserMsg.gettext("Browse for a directory to select."))), BorderLayout.LINE_END);
}
/**
@@ -101,8 +102,6 @@
return this;
}
- private static final String BROWSE = "Browse";
-
/**
* The text field
*/
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/PathField.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -41,6 +41,7 @@
import org.crosswire.common.config.Choice;
import org.crosswire.common.swing.ActionFactory;
import org.crosswire.common.swing.CWScrollPane;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.util.Convert;
/**
@@ -60,7 +61,7 @@
model = new DefaultComboBoxModel();
list = new JList(model);
- actions = new ActionFactory(PathField.class, this);
+ actions = new ActionFactory(this);
JPanel buttons = new JPanel(new FlowLayout());
@@ -70,9 +71,9 @@
JScrollPane scroll = new CWScrollPane(list);
- buttons.add(new JButton(actions.getAction(ADD)));
- buttons.add(new JButton(actions.getAction(REMOVE)));
- buttons.add(new JButton(actions.getAction(UPDATE)));
+ buttons.add(new JButton(actions.addAction("Add", UserMsg.gettext("Add"))));
+ buttons.add(new JButton(actions.addAction("Remove", UserMsg.gettext("Remove"))));
+ buttons.add(new JButton(actions.addAction("Update", UserMsg.gettext("Update (path)"))));
setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEtchedBorder(), BorderFactory.createEmptyBorder(5, 5, 5, 5)));
@@ -193,14 +194,10 @@
* @throws ClassNotFoundException
*/
private void readObject(ObjectInputStream is) throws IOException, ClassNotFoundException {
- actions = new ActionFactory(PathField.class, this);
+ actions = new ActionFactory(this);
is.defaultReadObject();
}
- 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/StringArrayField.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/config/swing/StringArrayField.java 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/StringArrayField.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -48,6 +48,7 @@
import org.crosswire.common.swing.CWOptionPane;
import org.crosswire.common.swing.CWScrollPane;
import org.crosswire.common.swing.GuiUtil;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.util.Convert;
/**
@@ -64,7 +65,7 @@
* Create a PropertyHashtableField for editing String arrays.
*/
public StringArrayField() {
- actions = new ActionFactory(StringArrayField.class, this);
+ actions = new ActionFactory(this);
list_model = new DefaultComboBoxModel();
list = new JList(list_model);
@@ -76,9 +77,9 @@
JScrollPane scroll = new CWScrollPane(list);
- buttons.add(new JButton(actions.getAction(ADD)));
- buttons.add(new JButton(actions.getAction(REMOVE)));
- buttons.add(new JButton(actions.getAction(UPDATE)));
+ buttons.add(new JButton(actions.addAction("Add", UserMsg.gettext("Add"))));
+ buttons.add(new JButton(actions.addAction("Remove", UserMsg.gettext("Remove"))));
+ buttons.add(new JButton(actions.addAction("Update", UserMsg.gettext("Update"))));
Border title = BorderFactory.createTitledBorder(Msg.COMPONENT_EDITOR.toString());
Border pad = BorderFactory.createEmptyBorder(5, 5, 5, 5);
@@ -204,7 +205,7 @@
* @throws ClassNotFoundException
*/
private void readObject(ObjectInputStream is) throws IOException, ClassNotFoundException {
- actions = new ActionFactory(StringArrayField.class, this);
+ actions = new ActionFactory(this);
is.defaultReadObject();
}
@@ -246,10 +247,6 @@
private static final long serialVersionUID = 3256444715753878326L;
}
- 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?
*/
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/TreeConfigEditor.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -52,6 +52,7 @@
import org.crosswire.common.swing.FixedSplitPane;
import org.crosswire.common.swing.FormPane;
import org.crosswire.common.swing.GuiUtil;
+import org.crosswire.common.swing.UserMsg;
/**
* A Configuration Editor that provides a tree for navigating to options.
Deleted: 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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/config/swing/UserMsg.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,70 +0,0 @@
-/**
- * Distribution License:
- * JSword is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License, version 2.1 as published by
- * the Free Software Foundation. This program is distributed in the hope
- * that it will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU Lesser General Public License for more details.
- *
- * The License is available on the internet at:
- * http://www.gnu.org/copyleft/lgpl.html
- * or by writing to:
- * Free Software Foundation, Inc.
- * 59 Temple Place - Suite 330
- * Boston, MA 02111-1307, USA
- *
- * Copyright: 2005
- * The copyright to this program is held by it's authors.
- *
- * ID: $Id: Msg.java 1464 2007-07-02 02:34:40Z dmsmith $
- */
-package org.crosswire.common.config.swing;
-
-import org.crosswire.common.util.MsgBase;
-
-/**
- * Compile safe Msg resource settings.
- *
- * @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]
- */
-public final class UserMsg extends MsgBase {
-
- /**
- * 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);
- }
-
- /**
- * 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 params
- * @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/progress/swing/JobsProgressBar.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/progress/swing/JobsProgressBar.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -47,6 +47,7 @@
import org.crosswire.common.progress.WorkEvent;
import org.crosswire.common.progress.WorkListener;
import org.crosswire.common.swing.ActionFactory;
+import org.crosswire.common.swing.CWAction;
import org.crosswire.common.swing.GuiUtil;
import org.crosswire.common.util.Logger;
@@ -66,7 +67,7 @@
jobs = new HashMap<Progress,JobData>();
positions = new ArrayList<JobData>();
shaper = new NumberShaper();
- actions = new ActionFactory(JobsProgressBar.class, this);
+ actions = new ActionFactory(this);
if (small) {
// They start off at 15pt (on Windows at least)
@@ -92,8 +93,10 @@
* @return a custom cancel button
*/
public synchronized JButton createCancelButton(Progress job) {
- JButton cancelButton = actions.createActionIcon(STOP, new JobCancelListener(job));
- return cancelButton;
+ CWAction action = actions.addAction("Stop");
+ action.setSmallIcon("toolbarButtonGraphics/general/Stop16.gif");
+ action.setListener(new JobCancelListener(job));
+ return actions.flatten(new JButton(action));
}
/*
@@ -238,7 +241,7 @@
* @throws ClassNotFoundException
*/
private void readObject(ObjectInputStream is) throws IOException, ClassNotFoundException {
- actions = new ActionFactory(JobsProgressBar.class, this);
+ actions = new ActionFactory(this);
is.defaultReadObject();
}
@@ -268,11 +271,6 @@
private transient ActionFactory actions;
/**
- * The key for the Stop action.
- */
- private static final String STOP = "Stop";
-
- /**
* The log stream
*/
private static final Logger log = Logger.getLogger(JobsProgressBar.class);
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/ActionFactory.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -43,6 +43,8 @@
import org.crosswire.common.util.StringUtil;
/**
+ * The ActionFactory is being radically updated. Take the following with a grain of salt.
+ *
* The ActionFactory is responsible for creating CWActions and making them
* available to the program. Each Action is constructed from resources of the
* form: ActionName.field=value where ActionName is the ACTION_COMMAND_KEY value
@@ -132,22 +134,13 @@
*/
public class ActionFactory implements ActionListener, Actionable {
/**
- * Creates an ActionFactory that looks up properties according to pattern
- * and calls methods on the provided bean. By separating these two, it
- * distinguishes between the object to call and the type to look up
- * resources against. This is useful for when you are writing a class
- * with subclasses but wish to keep the resources registered in the
- * name of the superclass.
+ * Creates an ActionFactory that merely holds actions.
+ * It does not lookup properties to construct an action. Constructing an action is the
+ * responsibility of the calling class. It does not arrange for actions to perform actions.
*
- * @param type the class against which properties are looked up.
- * @param bean the object to which the actions belong
*/
- public ActionFactory(Class<?> type, Object bean) {
- this.bean = bean;
+ public ActionFactory() {
actions = new HashMap<String,CWAction>();
- if (type != null) {
- buildActionMap(type);
- }
}
/**
@@ -158,31 +151,47 @@
* @param bean
*/
public ActionFactory(Object bean) {
- this(null, bean);
+ this();
+ this.bean = bean;
}
- /*
- * (non-Javadoc)
+ /**
+ * Creates an ActionFactory that looks up properties according to pattern
+ * and calls methods on the provided bean. By separating these two, it
+ * distinguishes between the object to call and the type to look up
+ * resources against. This is useful for when you are writing a class
+ * with subclasses but wish to keep the resources registered in the
+ * name of the superclass.
*
- * @see
- * org.crosswire.common.swing.Actionable#performAction(java.lang.String)
+ * @param type the class against which properties are looked up.
+ * @param bean the object to which the actions belong
+ * @deprecated
*/
+ @Deprecated
+ public ActionFactory(Class<?> type, Object bean) {
+ this(bean);
+ buildActionMap(type);
+ }
+
+ /* (non-Javadoc)
+ * @see org.crosswire.common.swing.Actionable#actionPerformed(java.lang.String)
+ */
public void actionPerformed(String action) {
- Action act = getAction(action);
+ Action act = findAction(action);
act.actionPerformed(new ActionEvent(this, 0, action));
}
- /*
- * (non-Javadoc)
- *
- * @see
- * java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+ /* (non-Javadoc)
+ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent ev) {
String action = ev.getActionCommand();
- assert action != null;
- assert action.length() != 0;
+ if (action == null || action.length() == 0) {
+ // There's nothing to do.
+ log.error("No action available for: " + bean.getClass().getName());
+ return;
+ }
// Instead of cascading if/then/else
// use reflection to do a direct lookup and call
@@ -221,7 +230,9 @@
* @param key
* the internal name of the CWAction
* @return CWAction null if it does not exist
+ * @deprecated
*/
+ @Deprecated
public Action getAction(String key) {
return getAction(key, null);
}
@@ -233,6 +244,17 @@
* the internal name of the CWAction
* @return CWAction null if it does not exist
*/
+ public Action findAction(String key) {
+ return getAction(key, null);
+ }
+
+ /**
+ * Get the Action for the given actionName.
+ *
+ * @param key
+ * the internal name of the CWAction
+ * @return CWAction null if it does not exist
+ */
public Action getAction(String key, ActionListener listener) {
CWAction action = actions.get(key);
@@ -244,70 +266,34 @@
return action;
}
log.info("Missing key: '" + key + "'. Known keys are: " + StringUtil.join(actions.keySet().toArray(), ", "));
- assert false;
+// assert false;
+ return bogusAction(key);
+ }
+ private CWAction bogusAction(String key) {
CWAction getOutOfJailFreeAction = new CWAction();
-
getOutOfJailFreeAction.putValue(Action.NAME, key);
getOutOfJailFreeAction.putValue(Action.SHORT_DESCRIPTION, MISSING_RESOURCE);
getOutOfJailFreeAction.setEnabled(true);
getOutOfJailFreeAction.addActionListener(this);
-
return getOutOfJailFreeAction;
}
/**
- * Build a button from an action that consist solely of the icon.
- *
- * @param key
- * the action to use
- * @return the button
- */
- public JButton createActionIcon(String key) {
- return createActionIcon(key, null);
- }
-
- /**
- * Build a button from an action that consist solely of the icon.
- *
- * @param key
- * the action to use
- * @return the button
- */
- public JButton createActionIcon(String key, ActionListener listener) {
- Action action = getAction(key, listener);
-
- JButton button = new JButton(action);
- button.setBorderPainted(false);
- button.setContentAreaFilled(false);
- button.setText(null);
- button.setMargin(new Insets(0, 0, 0, 0));
- return button;
- }
-
- /**
* Build a button from an action.
*
- * @param key
+ * @param action
* the action to use
* @return the button
*/
- public JButton createJButton(String key) {
- return createJButton(key, null);
+ public JButton createJButton(Action action, ActionListener listener) {
+ CWAction act = (CWAction) action;
+ act = (CWAction) act.clone();
+ act.addActionListener(listener);
+ return new JButton(act);
}
/**
- * Build a button from an action.
- *
- * @param key
- * the action to use
- * @return the button
- */
- public JButton createJButton(String key, ActionListener listener) {
- return new JButton(getAction(key, listener));
- }
-
- /**
* Lookup an existing action for actionName. Otherwise construct, store and return an action.
*
* @param key
@@ -361,26 +347,37 @@
* to initialize widgets tied to actions to disabled. Once the
* action is created, it's state can be changed and the tied
* widgets will behave appropriately.
+ * @param listener
+ * A listener for the action. When present the action is not shared, but cloned.
* @return the stored or newly constructed action
*/
- public CWAction addAction(String key, String name, String tooltip, String smallIconPath, String largeIconPath, String acceleratorSpec, String enabled) {
- CWAction cwAction = buildAction(key, name, tooltip, smallIconPath, largeIconPath, acceleratorSpec, enabled);
- cwAction.addActionListener(this);
- actions.put(key, cwAction);
+ public CWAction addAction(String key, String name) {
+ CWAction cwAction = actions.get(key);
+
+ if (cwAction == null) {
+ cwAction = buildAction(key, name);
+ cwAction.addActionListener(this);
+ actions.put(key, cwAction);
+ }
+
return cwAction;
}
- public CWAction addAction(String key, String name) {
- return addAction(key, name, null, null, null, null, null);
+ public CWAction addAction(String key) {
+ return addAction(key, null);
}
- public CWAction addAction(String key, String name, String tooltip) {
- return addAction(key, name, tooltip, null, null, null, null);
+ public JButton flatten(JButton button) {
+ button.setBorderPainted(false);
+ button.setContentAreaFilled(false);
+ button.setText(null);
+ button.setMargin(new Insets(0, 0, 0, 0));
+ return button;
}
- private CWAction buildAction(String key, String name, String tooltip, String smallIconPath, String largeIconPath, String acceleratorSpec, String enabled) {
+ private CWAction buildAction(String key, String name) {
if (key == null || key.length() == 0) {
- log.warn("Acronymn is missing for CWAction");
+ log.warn("Key is missing for CWAction");
}
CWAction cwAction = actions.get(key);
@@ -392,36 +389,28 @@
cwAction = new CWAction();
cwAction.putValue(Action.ACTION_COMMAND_KEY, key);
- JLabel cwLabel = CWLabel.createJLabel(name);
- cwAction.putValue(Action.NAME, cwLabel.getText());
+ // For buttons that are just icons, there may not be a "name" field.
+ if (name != null) {
+ JLabel cwLabel = CWLabel.createJLabel(name);
+ cwAction.putValue(Action.NAME, cwLabel.getText());
- // Mac's don't have mnemonics.
- // Otherwise, dig out the mnemonic.
- if (!OSType.MAC.equals(OSType.getOSType())) {
- cwAction.putValue(Action.MNEMONIC_KEY, Integer.valueOf(cwLabel.getDisplayedMnemonic()));
+ // Mac's don't have mnemonics.
+ // Otherwise, dig out the mnemonic.
+ if (!OSType.MAC.equals(OSType.getOSType())) {
+ cwAction.putValue(Action.MNEMONIC_KEY, Integer.valueOf(cwLabel.getDisplayedMnemonic()));
+ }
}
- cwAction.putValue(Action.SHORT_DESCRIPTION, tooltip);
-
- cwAction.addLargeIcon(largeIconPath);
- cwAction.addSmallIcon(smallIconPath);
-
- try {
- cwAction.addAccelerator(acceleratorSpec);
- } catch (NumberFormatException nfe) {
- log.warn("Could not parse integer for accelerator of action " + key, nfe);
- }
-
- boolean flag = enabled == null ? true : Boolean.valueOf(enabled).booleanValue();
- cwAction.setEnabled(flag);
-
- return cwAction;
+ return cwAction;
}
/**
* Build the map of actions from resources
*/
private void buildActionMap(Class<?> basis) {
+ if (basis == null) {
+ return;
+ }
try {
StringBuilder basisName = new StringBuilder(basis.getName());
ResourceBundle resources = ResourceBundle.getBundle(basisName.toString(), Locale.getDefault(), CWClassLoader.instance(basis));
@@ -469,7 +458,14 @@
String tooltip = getActionString(resources, nickname, actionName, CWAction.TOOL_TIP);
String acceleratorSpec = getActionString(resources, nickname, actionName, Action.ACCELERATOR_KEY);
- CWAction cwAction = buildAction(actionName, label, tooltip, smallIconStr, largeIconStr, acceleratorSpec, enabledStr);
+ boolean enabled = enabledStr == null ? true : Boolean.valueOf(enabledStr).booleanValue();
+
+ CWAction cwAction = buildAction(actionName, label);
+ cwAction.setTooltip(tooltip);
+ cwAction.setSmallIcon(smallIconStr);
+ cwAction.setSmallIcon(largeIconStr);
+ cwAction.setAccelerator(acceleratorSpec);
+ cwAction.enable(enabled);
cwAction.addActionListener(this);
actions.put(actionName, cwAction);
}
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/CWAction.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -32,6 +32,7 @@
import javax.swing.KeyStroke;
import javax.swing.event.EventListenerList;
+import org.crosswire.common.util.Logger;
import org.crosswire.common.util.StringUtil;
/**
@@ -57,19 +58,76 @@
*/
public static final String TOOL_TIP = "ToolTip";
- public void addLargeIcon(String iconPath) {
- addIcon(LARGE_ICON, iconPath);
+ /**
+ * Set or clear, using null, the icon on this action.
+ * @param icon the small icon to set
+ * @return this action
+ */
+ public CWAction setLargeIcon(Icon icon) {
+ putValue(LARGE_ICON, icon);
+ return this;
}
- public void addSmallIcon(String iconPath) {
- addIcon(SMALL_ICON, iconPath);
+ public CWAction setLargeIcon(String iconPath) {
+ return setLargeIcon(GuiUtil.getIcon(iconPath));
}
- public void addAccelerator(String acceleratorSpec) throws NumberFormatException {
+ public CWAction setTooltip(String tooltip) {
+ putValue(Action.SHORT_DESCRIPTION, tooltip);
+ return this;
+ }
+ /**
+ * Set or clear, using null, the icon on this action.
+ * @param icon the small icon to set
+ * @return this action
+ */
+ public CWAction setSmallIcon(Icon icon) {
+ putValue(SMALL_ICON, icon);
+ return this;
+ }
+
+ public CWAction setSmallIcon(String iconPath) {
+ return setSmallIcon(GuiUtil.getIcon(iconPath));
+ }
+
+ /**
+ * Set the accelerator key from spec. If the spec is invalid it is logged and ignored.
+ * @param acceleratorSpec
+ * @return this action
+ */
+ public CWAction setAccelerator(String acceleratorSpec) {
putValue(Action.ACCELERATOR_KEY, getAccelerator(acceleratorSpec));
+ return this;
}
/**
+ * Set enabled either true or false on this action.
+ *
+ * @param newEnabled the desired state
+ * @return this action
+ */
+ public CWAction enable(boolean newEnabled) {
+ setEnabled(newEnabled);
+ return this;
+ }
+
+ /**
+ * Create a clone of this action and attache the listener. If
+ * no listener is supplied, the action is not cloned.
+ *
+ * @param listener the listener for the action
+ * @return a cloned action with the listener attached or the current action
+ */
+ public CWAction setListener(ActionListener listener) {
+ CWAction action = this;
+ if (listener != null) {
+ action = (CWAction) action.clone();
+ action.addActionListener(listener);
+ }
+ return action;
+ }
+
+ /**
* Forwards the ActionEvent to the registered listener.
*
* @param evt
@@ -153,23 +211,17 @@
return action;
}
- private void addIcon(String key, String iconPath) {
- Icon icon = null;
- if (iconPath != null && iconPath.length() > 0) {
- icon = GuiUtil.getIcon(iconPath);
- }
- if (icon != null) {
- putValue(key, icon);
- }
- }
-
/**
* Convert the string to a valid Accelerator (that is a KeyStroke)
*/
- private KeyStroke getAccelerator(String acceleratorSpec) throws NumberFormatException {
+ private KeyStroke getAccelerator(String acceleratorSpec) {
KeyStroke accelerator = null;
if (acceleratorSpec != null && acceleratorSpec.length() > 0) {
- accelerator = getKeyStroke(acceleratorSpec);
+ try {
+ accelerator = getKeyStroke(acceleratorSpec);
+ } catch (NumberFormatException nfe) {
+ log.warn("Could not parse integer for accelerator of action", nfe);
+ }
}
return accelerator;
}
@@ -177,32 +229,37 @@
/**
*
*/
- 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);
- }
+ 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);
+ }
private EventListenerList listeners;
/**
+ * The log stream
+ */
+ private static final Logger log = Logger.getLogger(CWAction.class);
+
+ /**
* Serialization ID
*/
private static final long serialVersionUID = 3258416148742484276L;
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/CWOptionPane.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -744,7 +744,7 @@
}
private static String getActionName(String key) {
- return actions.getAction(key).getValue(Action.NAME).toString();
+ return actions.findAction(key).getValue(Action.NAME).toString();
}
private static Object[] fixOptions(Object[] options, int optionType, int messageType) {
@@ -778,7 +778,13 @@
/**
* The actions for this dialog.
*/
- private static ActionFactory actions = new ActionFactory(CWOptionPane.class, null);
+ private static ActionFactory actions = new ActionFactory(null);
+ static {
+ actions.addAction("Yes", UserMsg.gettext("Yes"));
+ actions.addAction("No", UserMsg.gettext("No"));
+ actions.addAction("OK", UserMsg.gettext("OK"));
+ actions.addAction("Cancel", UserMsg.gettext("Cancel"));
+ }
/**
* Serialization ID
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/ExceptionPane.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -226,14 +226,13 @@
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);
+ final ActionFactory actions = new ActionFactory(pane);
- JButton ok = actions.createJButton("OK", new ActionListener()
- {
- public void actionPerformed(ActionEvent e) {
- dialog.dispose();
- }
- });
+ JButton ok = actions.createJButton(actions.addAction("OK", UserMsg.gettext("OK")), new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ dialog.dispose();
+ }
+ });
pane.okBox.add(ok);
dialog.getRootPane().setDefaultButton(ok);
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/FontChooser.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -116,22 +116,20 @@
fontc.italic.setSelected(font.isItalic());
fontc.size.setSelectedItem(Integer.valueOf(font.getSize()));
- final ActionFactory actions = new ActionFactory(FontChooser.class, fontc);
+ final ActionFactory actions = new ActionFactory(fontc);
- JButton ok = actions.createJButton("OK", new ActionListener()
- {
- public void actionPerformed(ActionEvent ex) {
- fontc.dialog.setVisible(false);
- }
- });
+ JButton ok = actions.createJButton(actions.addAction("OK", UserMsg.gettext("OK")), new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ fontc.dialog.dispose();
+ }
+ });
- JButton cancel = actions.createJButton("Cancel", new ActionListener()
- {
- public void actionPerformed(ActionEvent ex) {
- fontc.dialog.setVisible(false);
- fontc.font = null;
- }
- });
+ JButton cancel = actions.createJButton(actions.addAction("Cancel", UserMsg.gettext("Cancel")), new ActionListener() {
+ public void actionPerformed(ActionEvent ex) {
+ fontc.dialog.setVisible(false);
+ fontc.font = null;
+ }
+ });
JPanel buttons = new JPanel();
buttons.setLayout(new FlowLayout());
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/GuiUtil.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -74,6 +74,12 @@
* @return the image or null if the icon is not found.
*/
public static ImageIcon getIcon(String name) {
+ // It is expected that there is a 3 char extension
+ // So the minimum file name length is 5
+ if (name == null || name.length() < 5) {
+ return null;
+ }
+
try {
URL url = ResourceUtil.getResource(name);
return new ImageIcon(url);
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/QuickHelpDialog.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -62,7 +62,7 @@
* This method initializes the GUI
*/
private void initialize() {
- actions = new ActionFactory(QuickHelpDialog.class, this);
+ actions = new ActionFactory(this);
txtHelp = new JEditorPane();
txtHelp.setEditable(false);
@@ -83,7 +83,7 @@
JScrollPane scrHelp = new CWScrollPane(txtHelp);
scrHelp.setBorder(null);
- JButton btnOK = new JButton(actions.getAction(OK));
+ JButton btnOK = new JButton(actions.addAction("Add", UserMsg.gettext("Add")));
JPanel pnlOK = new JPanel();
pnlOK.setLayout(new FlowLayout(FlowLayout.TRAILING));
pnlOK.add(btnOK, null);
@@ -142,8 +142,6 @@
setVisible(false);
}
- private static final String OK = "OK";
-
private transient ActionFactory actions;
private JEditorPane txtHelp;
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/UserMsg.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -30,7 +30,7 @@
* The copyright to this program is held by it's authors.
* @author Joe Walker [joe at eireneh dot com]
*/
-final class UserMsg extends MsgBase {
+final public class UserMsg extends MsgBase {
/**
* Get the internationalized text, but return key if key is unknown.
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/AbstractViewLayout.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -32,6 +32,7 @@
import javax.swing.event.EventListenerList;
import org.crosswire.common.swing.GuiUtil;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.swing.desktop.event.ViewEvent;
import org.crosswire.common.swing.desktop.event.ViewEventListener;
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/LayoutType.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -21,7 +21,9 @@
*/
package org.crosswire.common.swing.desktop;
+import org.crosswire.common.swing.UserMsg;
+
/**
* Types of ViewLayouts. Currently there are two types of desktop layouts:
* <ul>
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/TDIViewLayout.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -24,6 +24,7 @@
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.MouseListener;
+
import javax.swing.JPopupMenu;
import javax.swing.JTabbedPane;
import javax.swing.UIManager;
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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ToolBar.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -40,6 +40,7 @@
import org.crosswire.common.swing.ActionFactory;
import org.crosswire.common.swing.CWAction;
import org.crosswire.common.swing.GuiUtil;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.util.OSType;
/**
@@ -61,7 +62,7 @@
*/
public ToolBar(JFrame frame) {
this.frame = frame;
- actions = new ActionFactory(UserMsg.class, this);
+ actions = new ActionFactory(this);
setRollover(true);
@@ -169,7 +170,7 @@
* toolbar
*/
public JMenuItem getShowToggle() {
- JCheckBoxMenuItem toggle = new JCheckBoxMenuItem(actions.getAction(TOOLBAR_TOGGLE));
+ JCheckBoxMenuItem toggle = new JCheckBoxMenuItem(actions.addAction("ToolBarToggle", UserMsg.gettext("Show Tool Bar")).setTooltip(UserMsg.gettext("Toggle the display of the tool bar")).setAccelerator("B,ctrl"));
toggle.setSelected(true);
return toggle;
}
@@ -180,7 +181,7 @@
* @return a check box that can be used to toggle the text
*/
public JMenuItem getTextToggle() {
- return new JCheckBoxMenuItem(actions.getAction(TOOLBAR_TEXT));
+ return new JCheckBoxMenuItem(actions.addAction("ToolBarText", UserMsg.gettext("Show Tool Bar Text")).setTooltip(UserMsg.gettext("Toggle the display of the tool bar text")));
}
/**
@@ -190,7 +191,7 @@
* @return a check box that can be used to toggle the size of the icons
*/
public JMenuItem getIconSizeToggle() {
- JCheckBoxMenuItem toggle = new JCheckBoxMenuItem(actions.getAction(TOOLBAR_LARGE));
+ JCheckBoxMenuItem toggle = new JCheckBoxMenuItem(actions.addAction("ToolBarText", UserMsg.gettext("Large Tool Bar")).setTooltip(UserMsg.gettext("Toggle size of the tool bar icons")));
toggle.setSelected(true);
return toggle;
}
@@ -227,14 +228,10 @@
* @throws ClassNotFoundException
*/
private void readObject(ObjectInputStream is) throws IOException, ClassNotFoundException {
- actions = new ActionFactory(ToolBar.class, this);
+ actions = new ActionFactory(this);
is.defaultReadObject();
}
- 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
* the only other component being centered.
Deleted: 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 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/UserMsg.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,70 +0,0 @@
-/**
- * Distribution License:
- * JSword is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License, version 2.1 as published by
- * the Free Software Foundation. This program is distributed in the hope
- * that it will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU Lesser General Public License for more details.
- *
- * The License is available on the internet at:
- * http://www.gnu.org/copyleft/lgpl.html
- * or by writing to:
- * Free Software Foundation, Inc.
- * 59 Temple Place - Suite 330
- * Boston, MA 02111-1307, USA
- *
- * Copyright: 2005
- * The copyright to this program is held by it's authors.
- *
- * ID: $Id$
- */
-package org.crosswire.common.swing.desktop;
-
-import org.crosswire.common.util.MsgBase;
-
-/**
- * Compile safe Msg resource settings.
- *
- * @see gnu.lgpl.License for license details.<br>
- * The copyright to this program is held by it's authors.
- * @author DM Smith [dmsmith555 at yahoo dot com]
- */
-public final class UserMsg extends MsgBase {
-
- /**
- * 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);
- }
-
- /**
- * 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 params
- * @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/ViewManager.java
===================================================================
--- trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ViewManager.java 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/java/org/crosswire/common/swing/desktop/ViewManager.java 2011-03-03 03:41:41 UTC (rev 2085)
@@ -21,6 +21,7 @@
*/
package org.crosswire.common.swing.desktop;
+
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
@@ -34,6 +35,7 @@
import org.crosswire.common.swing.ActionFactory;
import org.crosswire.common.swing.GuiUtil;
+import org.crosswire.common.swing.UserMsg;
import org.crosswire.common.swing.desktop.event.TitleChangedEvent;
import org.crosswire.common.swing.desktop.event.TitleChangedListener;
import org.crosswire.common.swing.desktop.event.ViewEvent;
@@ -52,12 +54,41 @@
*/
public class ViewManager implements Viewable, TitleChangedListener, ViewEventListener {
/**
- * Construct a ViewManager.
+ * Construct a ViewManager. The supplied action factory has this as it's bean and
+ * has actions for the following keys:
+ * <ul>
+ * <li>ViewManager.TAB_MODE</li>
+ * <li>ViewManager.WINDOW_MODE</li>
+ * <li>ViewManager.NEW_TAB</li>
+ * <li>ViewManager.CLOSE_VIEW</li>
+ * <li>ViewManager.CLEAR_VIEW</li>
+ * <li>ViewManager.CLEAR_ALL_VIEWS</li>
+ * <li>ViewManager.CLOSE_OTHER_VIEWS</li>
+ * </ul>
+ *
* @param generator a ViewGenerator that this ViewManager manages.
- * @param msg the class for which i18n properties are defined
*/
- public ViewManager(ViewGenerator generator, Class<?> msg) {
+ public ViewManager(ViewGenerator generator) {
this.generator = generator;
+ }
+
+ /**
+ * Before first use, the ViewGenerator must supply an action factory.
+ * The supplied action factory has this as it's bean and
+ * has actions for the following keys:
+ * <ul>
+ * <li>ViewManager.TAB_MODE</li>
+ * <li>ViewManager.WINDOW_MODE</li>
+ * <li>ViewManager.NEW_TAB</li>
+ * <li>ViewManager.CLEAR_VIEW</li>
+ * <li>ViewManager.CLOSE_VIEW</li>
+ * <li>ViewManager.CLOSE_ALL_VIEWS</li>
+ * <li>ViewManager.CLOSE_OTHER_VIEWS</li>
+ * </ul>
+ *
+ * @param actions the class for which i18n properties are defined
+ */
+ public void setActionFactory(ActionFactory actions) {
panel = new JPanel(new GridBagLayout());
gbc = new GridBagConstraints();
@@ -68,10 +99,10 @@
panel.add(getViewLayout().getPanel(), getConstraint());
// Get the action definitions from the calling class
- contextActions = new ActionFactory(msg, this);
+ contextActions = actions;
- tdiView = new JRadioButtonMenuItem(contextActions.getAction(TAB_MODE));
- mdiView = new JRadioButtonMenuItem(contextActions.getAction(WINDOW_MODE));
+ tdiView = new JRadioButtonMenuItem(contextActions.addAction(TAB_MODE, UserMsg.gettext("Tabbed Document Interface")));
+ mdiView = new JRadioButtonMenuItem(contextActions.addAction(WINDOW_MODE, UserMsg.gettext("Multiple Document Interface")));
ButtonGroup grpViews = new ButtonGroup();
grpViews.add(mdiView);
@@ -401,7 +432,7 @@
* @return the action requested or null if it does not exist
*/
public Action getContextAction(String key) {
- return contextActions.getAction(key);
+ return contextActions.findAction(key);
}
/* private */final Object getConstraint() {
@@ -460,14 +491,10 @@
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 CLEAR_VIEW = "ClearView";
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
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/BooleanField.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/BooleanField.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/BooleanField.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,2 +0,0 @@
-No.Name=Alias.No
-Yes.Name=Alias.Yes
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/ButtonPane.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/ButtonPane.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/ButtonPane.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,4 +0,0 @@
-OK.Name=Alias.OK
-Cancel.Name=Alias.Cancel
-Apply.Name=Alias.Apply
-Help.Name=Alias.Help
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-
-Browse.Name=Alias.Browse
-Browse.ToolTip=Browse for a directory to select.
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_de.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_de.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_de.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-
-Browse.Name=Alias.Browse
-Browse.ToolTip=Ein Verzeichnis ausw\u00E4hlen
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_fa.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_fa.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_fa.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-
-Browse.Name=Alias.Browse
-Browse.ToolTip=\u0627\u0646\u062A\u062E\u0627\u0628
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_vi.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_vi.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_vi.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-
-Browse.Name=Alias.Browse
-Browse.ToolTip=\u0110\u1ECDc l\u01B0\u1EDBt t\u00ECm t\u1EADp tin \u0111\u1EC3 ch\u1ECDn
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-
-Browse.Name=Alias.Browse
-Browse.ToolTip=\u9078\u64C7\u3127\u500B\u6A94\u6848
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh_CN.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/FileField_zh_CN.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-
-Browse.Name=Alias.Browse
-Browse.ToolTip=\u9009\u62E9\u3127\u4E2A\u6863\u6848
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-AddPathEntry.Name=Alias.Add
-RemovePathEntry.Name=Alias.Remove
-UpdatePathEntry.Name=Alias.Update
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField_de.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField_de.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/PathField_de.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,6 +0,0 @@
-
-AddPathEntry.Name = Alias.Add
-
-RemovePathEntry.Name = Alias.Remove
-
-UpdatePathEntry.Name = Aktualisieren
Deleted: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/StringArrayField.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/StringArrayField.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/StringArrayField.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,3 +0,0 @@
-AddStringEntry.Name=Alias.Add
-RemoveStringEntry.Name=Alias.Remove
-UpdateStringEntry.Name=Alias.Update
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,7 +1,7 @@
-Could\ not\ save\ preferences\:\ {0} = Could not save preferences: {0}
-Preferences = Preferences
-
-Select\ a\ preference\ category = Select a preference category
-
-{0}\ Preferences = {0} Preferences
+Browse\ for\ a\ directory\ to\ select.=Browse for a directory to select.
+Could\ not\ save\ preferences\:\ {0}=Could not save preferences\: {0}
+Preferences=Preferences
+Select\ a\ preference\ category=Select a preference category
+Update\ (path)=Alias.Update
+{0}\ Preferences={0} Preferences
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_de.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_de.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_de.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,8 +1,7 @@
-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
+Browse\ for\ a\ directory\ to\ select.=Ein Verzeichnis ausw\u00E4hlen
+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
+Update\ (path)=Aktualisieren
+{0}\ Preferences={0} Eigenschaften
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_fa.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_fa.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_fa.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,4 +1,5 @@
-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!
+
+Browse\ for\ a\ directory\ to\ select.=\u0627\u0646\u062A\u062E\u0627\u0628
+Preferences=\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\!
+{0}\ Preferences={0} \u0627\u0646\u062A\u062E\u0627\u0628\u0647\u0627
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_vi.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_vi.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_vi.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,4 +1,6 @@
-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.
+
+Browse\ for\ a\ directory\ to\ select.=\u0110\u1ECDc l\u01B0\u1EDBt t\u00ECm t\u1EADp tin \u0111\u1EC3 ch\u1ECDn
+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
+Select\ a\ preference\ category=Ch\u1ECDn sub-node c\u1EE7a tree cho th\u00EAm tu\u1EF3 ch\u1ECDn n\u1EEFa.
+{0}\ Preferences={0} T\u00EDnh Ch\u1EA5t
Added: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh.properties (rev 0)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -0,0 +1,2 @@
+
+Browse\ for\ a\ directory\ to\ select.=\u9078\u64C7\u3127\u500B\u6A94\u6848
Added: trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh_CN.properties (rev 0)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/config/swing/UserMsg_zh_CN.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -0,0 +1,2 @@
+
+Browse\ for\ a\ directory\ to\ select.=\u9009\u62E9\u3127\u4E2A\u6863\u6848
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,24 +1,58 @@
-An\ error\ has\ occurred\: = An error has occurred:
+Add=_Add
+An\ error\ has\ occurred\:=An error has occurred\:
+Apply=_Apply
+Back=_Back
+Back.AcceleratorKey=0x27,alt
+Bold=Bold
+Browse=_Browse
+Cancel=_Cancel
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1}=Cannot open source for\: {0}, line\: {1}\n
+Close=_Close
+Copy=_Copy
+Copy.AcceleratorKey=C,ctrl
+Cut=C_ut
+Cut.AcceleratorKey=X,ctrl
+Delete=_Delete
+Details=Details
+Edit=_Edit
+Error=Error
+Error\ on\ line\ {0}\ in\ file\ {1}=Error on line {0} in file {1}
+Finish=_Finish
+Forward=_Forward
+Forward.AcceleratorKey=0x25,alt
+Go=Go
+Help=_Help
+Help.AcceleratorKey=0x70
+Italic=Italic
+Next=_Next
+No=_No
+No\ File=No File
+No\ description\ available.=No description available.
+OK=_OK
+Remove=_Remove
+Reset=_Reset
+Save=_Save
+Save.AcceleratorKey=S,ctrl
+Select\ Font=Select Font
+This\ was\ caused\ by\:=This was caused by\:
+Tried\:\ {0}=Tried\: {0}\n
+Update=_Update
+Yes=_Yes
-Bold = Bold
+Browse\ for\ a\ directory\ to\ select.=Browse for a directory to select.
+Could\ not\ save\ preferences\:\ {0}=Could not save preferences\: {0}
+Preferences=Preferences
+Select\ a\ preference\ category=Select a preference category
+Update\ (path)=Alias.Update
+{0}\ Preferences={0} Preferences
-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
+Large\ Tool\ Bar=Large Tool Bar
+Multiple\ Document\ Interface=Multiple Document Interface
+Show\ Tool\ Bar=Show Tool Bar
+Show\ Tool\ Bar\ Text=Show Tool Bar Text
+Tabbed\ Document\ Interface=Tabbed Document Interface
+Toggle\ size\ of\ the\ tool\ bar\ icons=Toggle size of the tool bar icons
+Toggle\ the\ display\ of\ the\ tool\ bar=Toggle the display of the tool bar
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Toggle the display of the tool bar text
+Untitled\ {0}=Untitled {0}
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_de.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_de.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_de.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,55 @@
+Add=Hinzuf\u00FCgen
An\ error\ has\ occurred\:=Ein Fehler ist aufgetreten\:
+Apply=\u00DCbernehmen
+Back=Zur\u00FCck
+Back.AcceleratorKey=0x27,alt
Bold=Fett
+Browse=Durchsuchen
+Cancel=Abbrechen
Cannot\ open\ source\ for\:\ {0},\ line\:\ {1}=Kann Quelle nicht \u00F6ffnen f\u00FCr\: {0}, Zeile\: {1}\n
+Close=Schlie\u00DFen
+Copy=Kopieren
+Copy.AcceleratorKey=C,ctrl
+Cut=A_usschneiden
+Cut.AcceleratorKey=X,alt
+Delete=L\u00F6schen
+Edit=Bearbeiten
Error=Fehler
Error\ on\ line\ {0}\ in\ file\ {1}=Fehler in Zeile {0} in Datei {1}
+Finish=Ende
+Forward=Vorw\u00E4rts
+Forward.AcceleratorKey=0x25,alt
+Go=Gehe
+Help=Hilfe
+Help.AcceleratorKey=0x70
Italic=Kursiv
+Next=Weiter
+No=_Nein
No\ File=Keine Datei
No\ description\ available.=Keine Beschreibung verf\u00FCgbar
+OK=_OK
+Remove=Entfernen
+Reset=Zur\u00FCcksetzen
+Save=_Speichern
+Save.AcceleratorKey=S,ctrl
Select\ Font=Schriftart ausw\u00E4hlen
This\ was\ caused\ by\:=Verursacht durch\:
Tried\:\ {0}=Versuche\: {0}\n
+Update=Auffrischen
+Yes=_Ja
+
+Browse\ for\ a\ directory\ to\ select.=Ein Verzeichnis ausw\u00E4hlen
+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
+Update\ (path)=Aktualisieren
+{0}\ Preferences={0} Eigenschaften
+
+Large\ Tool\ Bar=Gro\u00DFe Symbole
+Show\ Tool\ Bar=Zeige Symbolleiste
+Show\ Tool\ Bar\ Text=Zeige Symbole mit Text
+Toggle\ size\ of\ the\ tool\ bar\ icons=Schalte Symbolleiste gro\u00DF/klein
+Toggle\ the\ display\ of\ the\ tool\ bar=Schalte Symbolleiste an/aus
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Schalte Symbolleisten-Text an/aus
+Untitled\ {0}=Ohne Titel {0}
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_fa.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_fa.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_fa.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,24 +1,56 @@
-An\ error\ has\ occurred\: = \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0634\u06A9\u0644 \u062F\u0631\u062F
+Add=\u0627\u0641\u0632\u0648\u062F\u0646
+An\ error\ has\ occurred\:=\u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0634\u06A9\u0644 \u062F\u0631\u062F
+Apply=\u0627\u0646\u062C\u0627\u0645
+Back=\u0639\u0642\u0628
+Back.AcceleratorKey=0x25,alt
+Bold=\u062F\u0631\u0634\u062A
+Browse=\u0627\u0646\u062A\u062E\u0627\u0628
+Cancel=\u0627\u0646\u0636\u0631\u0627\u0641
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1}=\u0628\u0627\u0632 \u0646\u0634\u062F {0},\u062F\u0631 \u0633\u0637\u0631 {1}\n
+Close=\u0628\u06A9\u0646
+Copy=\u06A9\u067E\u06CC
+Copy.AcceleratorKey=C,ctrl
+Cut=\u0628\u0631\u064A\u062F\u0646
+Cut.AcceleratorKey=X,ctrl
+Delete=\u062D\u0632\u0641
+Details=\u062C\u0632\u062B\u06CC\u0627\u062A
+Edit=\u0648\u06CC\u0631\u0627\u06CC\u0634
+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}
+Finish=\u062A\u0645\u0627\u0645
+Forward=\u062C\u0644\u0648
+Forward.AcceleratorKey=0x27,alt
+Go=\u0686\u0647\u062A \u062D\u0631\u06A9\u062A
+Help=\u0631\u0647\u0646\u0646\u0645\u0627
+Help.AcceleratorKey=0x70
+Italic=\u06A9\u062C
+Next=\u062C\u0644\u0648
+No=\u0631\u062F
+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
+OK=\u0642\u0628\u0648\u0644
+Remove=\u062D\u0632\u0641 \u06A9\u0631\u062F\u0646
+Reset=\u0627\u0632 \u0627\u0648\u0644
+Save=\u0630\u062E\u064A\u0631\u0647 \u0633\u0627\u0632\u06CC
+Save.AcceleratorKey=S,ctrl
+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
+Update=\u0628\u0647 \u0631\u0648\u0632 \u06A9\u0631\u062F\u0646
+Yes=\u0628\u0644\u0647
-Bold = \u062F\u0631\u0634\u062A
+Browse\ for\ a\ directory\ to\ select.=\u0627\u0646\u062A\u062E\u0627\u0628
+Preferences=\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\!
+{0}\ Preferences={0} \u0627\u0646\u062A\u062E\u0627\u0628\u0647\u0627
-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
+Large\ Tool\ Bar=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
+Multiple\ Document\ Interface=\u067E\u0646\u062C\u0631\u0647 \u0647\u0627
+Show\ Tool\ Bar=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Show\ Tool\ Bar\ Text=\u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Tabbed\ Document\ Interface=\u0636\u0641\u062D\u0647 \u0647\u0627
+Toggle\ size\ of\ the\ tool\ bar\ icons=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
+Toggle\ the\ display\ of\ the\ tool\ bar=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=\u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Untitled\ {0}=\u0628\u06CC \u0646\u0627\u0645 {0}
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_in.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_in.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_in.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,52 @@
+Add=T_ambah
An\ error\ has\ occurred\:=Kesalahan terjadi\:
+Apply=_Apply
+Back=Kembali
+Back.AcceleratorKey=0x27,alt
Bold=Tebal
-Cannot\ open\ source\ for\:\ {0},\ line\:\ {1}=Cannot open source for\: {0}, line\: {1}\n
+Browse=_Browse
+Cancel=_Batal
+Close=_Tutup
+Copy=_Copy
+Copy.AcceleratorKey=C,ctrl
+Cut=C_ut
+Cut.AcceleratorKey=X,ctrl
+Delete=Hapus
+Edit=_Ubah
Error=Kesalahan
Error\ on\ line\ {0}\ in\ file\ {1}=Kesalahn pada line {0} in file {1}
+Finish=_Selesai
+Forward=Maju
+Forward.AcceleratorKey=0x25,alt
+Go=Go
+Help=_Bantuan
+Help.AcceleratorKey=0x70
Italic=Miring
+Next=Berikut_nya
+No=_Tidak
No\ File=Tidak ada Berkas
No\ description\ available.=Tidak penjelasan
+OK=_OK
+Remove=Hapus
+Reset=_Reset
+Save=_Simpan
+Save.AcceleratorKey=S,ctrl
Select\ Font=Pilih Font
This\ was\ caused\ by\:=Ini disebabkan karena\:
Tried\:\ {0}=Percobaan\: {0}\n
+Update=_Update
+Yes=_Ya
+Could\ not\ save\ preferences\:\ {0} = Gagal menyimpan preferensi: {0}
+Preferences = Preferensi
+{0}\ Preferences = {0} Preferensi
+Select\ a\ preference\ category = Pilih kategori preferensi
+
+Large\ Tool\ Bar=Besar Tool Bar
+Multiple\ Document\ Interface=Antar muka Multiple Document
+Show\ Tool\ Bar=Tampilkan Tool Bar
+Show\ Tool\ Bar\ Text=Tampilkan Tool Bar Teks
+Tabbed\ Document\ Interface=Antar muka Tabbed
+Toggle\ size\ of\ the\ tool\ bar\ icons=Tuas untuk tool bar ikon
+Toggle\ the\ display\ of\ the\ tool\ bar=Tuas untuk tampilan tool bar
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Tuas untuk tool bar teks
Added: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_tr.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_tr.properties (rev 0)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_tr.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -0,0 +1,29 @@
+
+Add=Add
+Apply=Apply
+Back=Back
+Back.AcceleratorKey=0x27,alt
+Browse=Browse
+Cancel=Cancel
+Close=Close
+Copy=Copy
+Copy.AcceleratorKey=C,ctrl
+Cut=Cut
+Cut.AcceleratorKey=X,ctrl
+Delete=Delete
+Edit=Ara\u015Ft\u0131rmak
+Finish=Finish
+Forward=Forward
+Forward.AcceleratorKey=0x25,alt
+Go=Git
+Help=Yard\u0131m
+Help.AcceleratorKey=0x70
+Next=Next
+No=No
+OK=OK
+Remove=Remove
+Reset=Reset
+Save=Save
+Save.AcceleratorKey=S,ctrl
+Update=Update
+Yes=Yes
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_vi.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_vi.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_vi.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,24 +1,47 @@
-An\ error\ has\ occurred\: = M\u1ED9t l\u1ED7i l\u1EA7m \u0111\u00E3 x\u1EA9y ra:
+Add=Th\u00EAm
+An\ error\ has\ occurred\:=M\u1ED9t l\u1ED7i l\u1EA7m \u0111\u00E3 x\u1EA9y ra\:
+Apply=\u00C1p D\u1EE5ng
+Back=Quay L\u1EA1i
+Back.AcceleratorKey=0x27,alt
+Bold=Ch\u1EEF \u0110\u1EADm
+Browse=\u0110\u1ECDc l\u01B0\u1EDBt
+Cancel=B\u1ECF \u0110i
+Cannot\ open\ source\ for\:\ {0},\ line\:\ {1}=Kh\u00F4ng m\u1EDF d\u01B0\u1EE3c ngu\u1ED3n g\u1ED1c cho\: {0}, d\u00F2ng\: {1}\n
+Close=Close
+Copy=Ch\u00E9p
+Copy.AcceleratorKey=C,ctrl
+Cut=C\u1EAFt
+Cut.AcceleratorKey=X,ctrl
+Delete=Delete
+Details=Chi Ti\u1EBFt
+Edit=S\u1EEDa
+Error=L\u1ED7i
+Error\ on\ line\ {0}\ in\ file\ {1}=L\u1ED7i t\u1EA1i d\u00F2ng {0} trong t\u1EADp tin {1}
+Finish=K\u1EBFt Th\u00FAc
+Forward=\u0110i T\u1EDBi
+Forward.AcceleratorKey=0x25,alt
+Go=Chuy\u1EC3n
+Help=Tr\u1EE3 Gi\u00FAp
+Help.AcceleratorKey=0x70
+Italic=Ch\u1EEF Nghi\u00EAng
+Next=\u0110i T\u1EDBi
+No=Kh\u00F4ng
+No\ File=Kh\u00F4ng C\u00F3 T\u1EADp Tin
+No\ description\ available.=Kh\u00F4ng c\u00F3 m\u00F4 t\u1EA3
+OK=\u0110\u00F3ng
+Remove=B\u1ECF \u0110i
+Reset=Reset
+Save=L\u01B0u
+Save.AcceleratorKey=S,ctrl
+Select\ Font=Ch\u1ECDn Ph\u00F4ng Ch\u1EEF
+This\ was\ caused\ by\:=L\u1ED7i n\u00E0y do\:
+Tried\:\ {0}=Th\u1EED\: {0}\n
+Update=C\u1EADp Nh\u1EADt
+Yes=C\u00F3
-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
+Browse\ for\ a\ directory\ to\ select.=\u0110\u1ECDc l\u01B0\u1EDBt t\u00ECm t\u1EADp tin \u0111\u1EC3 ch\u1ECDn
+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
+Select\ a\ preference\ category=Ch\u1ECDn sub-node c\u1EE7a tree cho th\u00EAm tu\u1EF3 ch\u1ECDn n\u1EEFa.
+{0}\ Preferences={0} T\u00EDnh Ch\u1EA5t
Added: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh.properties (rev 0)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -0,0 +1,39 @@
+
+Add=\u589E\u52A0
+Apply=\u5957\u7528
+Back=\u4E0A\u3127\u9801
+Back.AcceleratorKey=0x27,alt
+Browse=\u700F\u89BD
+Cancel=\u53D6\u6D88
+Close=\u95DC\u9589
+Copy=\u8986\u88FD
+Copy.AcceleratorKey=C,ctrl
+Cut=\u526A\u4E0B
+Cut.AcceleratorKey=X,ctrl
+Delete=Delete
+Edit=\u96E2\u958B
+Finish=Finish
+Forward=\u4E0B\u3127\u9801
+Forward.AcceleratorKey=0x25,alt
+Go=\u57F7\u884C
+Help=\u5E6B\u52A9
+Help.AcceleratorKey=0x70
+Next=Next
+No=\u5426\u5B9A
+OK=\u78BA\u8A8D
+Remove=Remove
+Reset=Reset
+Save=\u5132\u5B58
+Save.AcceleratorKey=S,ctrl
+Yes=\u78BA\u8A8D
+
+Browse\ for\ a\ directory\ to\ select.=\u9078\u64C7\u3127\u500B\u6A94\u6848
+
+Large\ Tool\ Bar=\u5927\u5DE5\u5177\u5716\u793A
+Multiple\ Document\ Interface=\u591A\u6587\u4EF6\u4ECB\u9762
+Show\ Tool\ Bar=\u5DE5\u5177\u5217
+Show\ Tool\ Bar\ Text=\u5DE5\u5177\u5716\u793A\u6587\u5B57
+Tabbed\ Document\ Interface=\u55AE\u6587\u4EF6\u4ECB\u9762
+Toggle\ size\ of\ the\ tool\ bar\ icons=\u5207\u63DB\u5DE5\u5177\u5716\u793A
+Toggle\ the\ display\ of\ the\ tool\ bar=\u986F\u793A\u5DE5\u5177\u5217
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=\u5207\u63DB\u5716\u793A\u6587\u5B57
Added: trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh_CN.properties (rev 0)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/UserMsg_zh_CN.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -0,0 +1,39 @@
+
+Add=\u589E\u52A0
+Apply=\u5957\u7528
+Back=\u4E0A\u3127\u9875
+Back.AcceleratorKey=0x27,alt
+Browse=\u6D4F\u89C8
+Cancel=\u53D6\u6D88
+Close=\u5173\u95ED
+Copy=\u9ECF\u8D34
+Copy.AcceleratorKey=C,ctrl
+Cut=\u526A\u5207
+Cut.AcceleratorKey=X,ctrl
+Delete=Delete
+Edit=\u7F16\u8F91
+Finish=Finish
+Forward=\u4E0B\u3127\u9875
+Forward.AcceleratorKey=0x25,alt
+Go=\u6267\u884C
+Help=\u5E2E\u52A9
+Help.AcceleratorKey=0x70
+Next=Next
+No=\u5426\u5B9A
+OK=\u786E\u8BA4
+Remove=Remove
+Reset=Reset
+Save=\u50A8\u5B58
+Save.AcceleratorKey=S,ctrl
+Yes=\u786E\u8BA4
+
+Browse\ for\ a\ directory\ to\ select.=\u9009\u62E9\u3127\u4E2A\u6863\u6848
+
+Large\ Tool\ Bar=\u5927\u5DE5\u5177\u56FE\u793A
+Multiple\ Document\ Interface=\u591A\u6587\u4EF6\u4ECB\u9762
+Show\ Tool\ Bar=\u5DE5\u5177\u5217
+Show\ Tool\ Bar\ Text=\u5DE5\u5177\u56FE\u793A\u6587\u5B57
+Tabbed\ Document\ Interface=\u5355\u6587\u4EF6\u4ECB\u9762
+Toggle\ size\ of\ the\ tool\ bar\ icons=\u5207\u6362\u5DE5\u5177\u56FE\u793A
+Toggle\ the\ display\ of\ the\ tool\ bar=\u663E\u793A\u5DE5\u5177\u5217
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=\u5207\u6362\u56FE\u793A\u6587\u5B57
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,15 +1,10 @@
-Multiple\ Document\ Interface = Multiple Document Interface
-Tabbed\ Document\ Interface = Tabbed Document Interface
-
-Untitled\ {0} = Untitled {0}
-
-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
+Large\ Tool\ Bar=Large Tool Bar
+Multiple\ Document\ Interface=Multiple Document Interface
+Show\ Tool\ Bar=Show Tool Bar
+Show\ Tool\ Bar\ Text=Show Tool Bar Text
+Tabbed\ Document\ Interface=Tabbed Document Interface
+Toggle\ size\ of\ the\ tool\ bar\ icons=Toggle size of the tool bar icons
+Toggle\ the\ display\ of\ the\ tool\ bar=Toggle the display of the tool bar
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Toggle the display of the tool bar text
+Untitled\ {0}=Untitled {0}
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_de.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_de.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_de.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,11 +1,8 @@
+Large\ Tool\ Bar=Gro\u00DFe Symbole
+Show\ Tool\ Bar=Zeige Symbolleiste
+Show\ Tool\ Bar\ Text=Zeige Symbole mit Text
+Toggle\ size\ of\ the\ tool\ bar\ icons=Schalte Symbolleiste gro\u00DF/klein
+Toggle\ the\ display\ of\ the\ tool\ bar=Schalte Symbolleiste an/aus
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Schalte Symbolleisten-Text an/aus
Untitled\ {0}=Ohne Titel {0}
-
-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/resources/org/crosswire/common/swing/desktop/UserMsg_fa.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_fa.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_fa.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,10 @@
-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}
-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
+Large\ Tool\ Bar=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
+Multiple\ Document\ Interface=\u067E\u0646\u062C\u0631\u0647 \u0647\u0627
+Show\ Tool\ Bar=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Show\ Tool\ Bar\ Text=\u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Tabbed\ Document\ Interface=\u0636\u0641\u062D\u0647 \u0647\u0627
+Toggle\ size\ of\ the\ tool\ bar\ icons=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631 \u0628\u0632\u0631\u06AF
+Toggle\ the\ display\ of\ the\ tool\ bar=\u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=\u0645\u062A\u0646 \u0633\u062A\u0648\u0646 \u0627\u0628\u0632\u0627\u0631
+Untitled\ {0}=\u0628\u06CC \u0646\u0627\u0645 {0}
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_in.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_in.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_in.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,9 @@
+Large\ Tool\ Bar=Besar Tool Bar
Multiple\ Document\ Interface=Antar muka Multiple Document
+Show\ Tool\ Bar=Tampilkan Tool Bar
+Show\ Tool\ Bar\ Text=Tampilkan Tool Bar Teks
Tabbed\ Document\ Interface=Antar muka Tabbed
-
-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
+Toggle\ size\ of\ the\ tool\ bar\ icons=Tuas untuk tool bar ikon
+Toggle\ the\ display\ of\ the\ tool\ bar=Tuas untuk tampilan tool bar
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Tuas untuk tool bar teks
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_vi.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_vi.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_vi.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,10 @@
-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}
-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
+Large\ Tool\ Bar=Thanh C\u00F4ng C\u1EE5 L\u1EDBn
+Multiple\ Document\ Interface=Ch\u1EBF \u0110\u1ED9 C\u1EEDa S\u1ED5 Ti\u1EC3u
+Show\ Tool\ Bar=Hi\u1EC7n Thanh C\u00F4ng C\u1EE5
+Show\ Tool\ Bar\ Text=Hi\u1EC7n B\u1EA3n V\u0103n Thanh C\u00F4ng C\u1EE5
+Tabbed\ Document\ Interface=Ch\u1EBF \u0110\u1ED9 Th\u1EBB Tab
+Toggle\ size\ of\ the\ tool\ bar\ icons=Ch\u1ECDn C\u1EE1 Bi\u1EC3u T\u01B0\u1EE3ng Thanh C\u00F4ng C\u1EE5
+Toggle\ the\ display\ of\ the\ tool\ bar=M\u1EDF/T\u1EAFt Thanh C\u00F4ng C\u1EE5
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=Hi\u1EC7n/Gi\u1EA5u B\u1EA3n V\u0103n Thanh C\u00F4ng C\u1EE5
+Untitled\ {0}=Kh\u00F4ng T\u00EAn {0}
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,9 @@
+Large\ Tool\ Bar=\u5927\u5DE5\u5177\u5716\u793A
Multiple\ Document\ Interface=\u591A\u6587\u4EF6\u4ECB\u9762
+Show\ Tool\ Bar=\u5DE5\u5177\u5217
+Show\ Tool\ Bar\ Text=\u5DE5\u5177\u5716\u793A\u6587\u5B57
Tabbed\ Document\ Interface=\u55AE\u6587\u4EF6\u4ECB\u9762
-
-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
+Toggle\ size\ of\ the\ tool\ bar\ icons=\u5207\u63DB\u5DE5\u5177\u5716\u793A
+Toggle\ the\ display\ of\ the\ tool\ bar=\u986F\u793A\u5DE5\u5177\u5217
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=\u5207\u63DB\u5716\u793A\u6587\u5B57
Modified: trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties
===================================================================
--- trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties 2011-03-03 03:35:55 UTC (rev 2084)
+++ trunk/common-swing/src/main/resources/org/crosswire/common/swing/desktop/UserMsg_zh_CN.properties 2011-03-03 03:41:41 UTC (rev 2085)
@@ -1,12 +1,9 @@
+Large\ Tool\ Bar=\u5927\u5DE5\u5177\u56FE\u793A
Multiple\ Document\ Interface=\u591A\u6587\u4EF6\u4ECB\u9762
+Show\ Tool\ Bar=\u5DE5\u5177\u5217
+Show\ Tool\ Bar\ Text=\u5DE5\u5177\u56FE\u793A\u6587\u5B57
Tabbed\ Document\ Interface=\u5355\u6587\u4EF6\u4ECB\u9762
-
-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
+Toggle\ size\ of\ the\ tool\ bar\ icons=\u5207\u6362\u5DE5\u5177\u56FE\u793A
+Toggle\ the\ display\ of\ the\ tool\ bar=\u663E\u793A\u5DE5\u5177\u5217
+Toggle\ the\ display\ of\ the\ tool\ bar\ text=\u5207\u6362\u56FE\u793A\u6587\u5B57
More information about the jsword-svn
mailing list