Jskad/source/org/thdl/tib/bibl/TibConstants.java

500 lines
24 KiB
Java
Raw Normal View History

/*
The contents of this file are subject to the THDL Open Community License
Version 1.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License on the THDL web site
(http://www.thdl.org/).
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific terms governing rights and limitations under the
License.
The Initial Developer of this software is the Tibetan and Himalayan Digital
Library (THDL). Portions created by the THDL are Copyright 2001-2003 THDL.
All Rights Reserved.
Contributor(s): ______________________________________.
*/
package org.thdl.tib.bibl;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.util.Hashtable;
/**
* This interface contains all the constants used throughout the TiblEdit program. They are roughly organized
* according to type, but the organization could definitely be cleaned up some.
*/
public interface TibConstants
{
// File Constants
final String DEFAULT_DIRECTORY = System.getProperties().getProperty("user.dir");
final String BIN = "\\bin\\";
final String DATA_DIRECTORY = "\\data\\";
final String OUT_DIRECTORY = "\\data\\";
final String BIN_LOGIN = "\\bin\\logs\\";
final String DIA_DATA = "\\bin\\dia.dat";
final String TEMP_DIR = "\\bin\\temp\\";
final String PREFS = "ttprefs.ini";
final String PREFS_DELIM = "=";
// Frame Constants
final String PROG_NAME = "TiblEdit: ";
final String DEFAULT_HEADER = PROG_NAME + "An XML Editor for Tibetan Bibliographic Records";
// Menu Constants
// File Menu
final String FILE = "File";
final String OPENFILE = "Open";
final String TITLEOPENFILE = "Open by Title";
final String CLOSEFILE = "Close";
final String SAVE = "Save";
final String SAVEAS = "Save As";
final String EXPORT = "Export";
final String EXIT = "Exit";
// Edit Menu
final String EDIT = "Edit";
final String TRANS_EDIT = "Translation";
final String NORM_EDIT = "Normalized Title";
final String REMOVE_APP = "Remove Variants";
final String REMOVE_TITLE = "Remove Title";
final String REMOVE_EDITION = "Remove Edition";
// Insert Menu
final String INSERT = "Insert";
final String ED_INFO = "New Edition Info";
final String CRIT_TITLE = "Critical Title";
final String ED_TITLE = "Edition Title";
final String TITLE_DISC = "Insert Discussion";
final String INSERT_APP = "Variant Reading";
// View Menu
final String VIEW = "View";
final String TITLES_VIEW = "View Titles";
final String MASTER_ID_VIEW = "Master ID/Doxography";
final String USER_ID_VIEW = "Editor's Info";
final String EDCON = "Editions Consulted";
final String DIAC = "Diacritics";
final String ABOUT = "About TiblEdit";
// TibAction Constants (should these go in TibAction?
final String CONTROLLER = "controller";
final String FRAME = "frame";
final String CURR_DIR = "current directory";
final String[] NGDIVS = { "Atiyoga", "Anuyoga", "Mah\u0101yoga", "Unclassified" };
final String[] NGSIGS = { "Ng1", "Ng2", "Ng3", "Ng4" };
final String OTHER = "Other Edition";
final String EDS_CORR = "Editor's Correction";
final String[] OTHER_EDS = { "Tk","Dg","Kg","Wa","Bg",OTHER};
final int SELDIV = 0;
final String GEN = "General";
// Button labels
final String SUBMIT = "Submit Translations";
final String ENTER = "Enter";
final String CANCEL = "Cancel";
final String ADD_DOX = "Add Doxographical Sub-category";
// Labels & Headers
final String LABEL_SPACE = " ";
final String CROSSREF = "Cross-references:";
final String NORM_TITLE_HEAD = "Normalized Title\n";
final String NORM_TIB_LABEL = "Normalized Title (Tib): ";
final String NORM_ENG_LABEL = "Normalized Title (Eng): ";
final String TITLE_LINE_HEAD = "\nTitle Line\n";
final String EOC_TITLES_HEAD = "\nEnd of Chapter Titles\n";
final String NON_TIB_TITLE_HEAD = "\nNon-Tibetan Title\n";
final String CHAP_TITLES_HEAD = "\nChapter Titles\n";
final String CLOSE_TITLE_HEAD = "Back Titles";
final String NON_TIB_HEAD = "\nNon-Tibetan Title\n";
final String SRCS_LABEL = "Sources: ";
final String ENTER_PLACE = " \n";
final String ENTER_TRANS_PHRASE = "\nEnter Translation: ";
final String ENTER_TITLE_PHRASE = "\nEnter Title: ";
final String ENTER_NORMALIZED_PHRASE= "Normalized title: ";
final String ENTER_NORM_TRANS_PHRASE= "Translation: ";
final String DOX_WINDOW_TITLE = "Doxographic Classification/Master ID Number";
final String DISC_DIA_TITLE = "Discussion Entry Form";
final String SEPARATOR = "------------------------------------\n";
// Fonts
final String BASE_FONT_NAME = "Arial Unicode MS";
int BASE_FONT_SIZE = 14;
int HEAD_FONT_SIZE = 16;
int TEXT_HEAD_SIZE = 18;
final Font DEFAULT_FONT = new Font(BASE_FONT_NAME,Font.PLAIN,BASE_FONT_SIZE);
final Font TITLE_FONT = new Font(BASE_FONT_NAME,Font.ITALIC,BASE_FONT_SIZE);
final Font MENU_FONT = new Font(BASE_FONT_NAME,Font.PLAIN,12);
final Font BOLD_FONT = new Font(BASE_FONT_NAME,Font.BOLD,BASE_FONT_SIZE);
final Font HEAD_FONT = new Font(BASE_FONT_NAME,Font.BOLD,HEAD_FONT_SIZE);
// Styles (names)
final String BOLD = "bold";
final String ITALIC = "italics";
// Sizes
final Dimension TIBPANEL_SIZE = new Dimension(10,10);
final Dimension BUTTON_SIZE = new Dimension(100,30);
final Dimension SHORT_LABEL_SIZE = new Dimension(100,75);
final Dimension LABEL_SIZE = new Dimension(500,75);
final Dimension ED_SCROLL_SIZE = new Dimension(400,400);
final Dimension BUTT_PANEL_SIZE = new Dimension(500,500);
final Dimension DEFAULT_PANEL_SIZE = new Dimension(550,600);
final int TTFCOLS = 30;
final int TEXT_FIELD_SIZE = 15;
// Colors
final Color DEFAULT_BGCOLOR = new Color(250,250,250);// 250,235,215); // antique white
final Color DEFAULT_BUTTON_COLOR = new Color(200,180,200);
final Color LIST_COLOR = Color.blue;
final Color TEXT_COLOR = Color.black;
// Insets & Borders
final Insets DEFAULT_INSETS = new Insets(10,0,10,10);
final Insets LIST_INSETS = new Insets(10,10,10,1000);
final Insets MAIN_MARGINS = new Insets(10,10,10,10);
final Insets BUT_MARGINS = new Insets(25,25,25,25);
// Integer Constants (choices)
final int NORM = 1; // Normalized title choice & normal display mode choice
final int TITLELINE = 2; // Title line choice
final int EOC = 3; // End of chapter titles choice.
final int CLOSING = 4; // Closing section titles.
final int NONTIBET = 5; // Non-Tibetan title choice.
final int CHAPS = 6; // Chapter titles.
// Display Modes
final int ENTER_TRANS = 2; // for entering a translation
final int NEW_TITLE = 3; // for entering a new title
final int NEW_AP = 4; // for entering a new app
final int CANCEL_NEW_APP = 5; // When a new app entry is cancelled.
final int SHOW_AP = 6; // when showing an old app
final int ENTER_NORMALIZED = 7; // when entering a normalized title.
final int CANC = 8; // for cancelling
final int DO_TRANS = 9; // for editing a translation
final String YES = "yes";
final String NO = "no";
final String IS_FILE_LIST = "filelist";
final String AP_CHECK = "Checking app!";
final String ED_TITLE_REM = "Removing Edition Title";
// Observer types and hashkeys
final String TABLE = "table";
final String APP_SUBMIT = "Submit App";
final String REDISPLAY = "Redisplay";
// also uses AP for app and TYPE for type keys.
final String RECENT = "recent_file";
final int RECENT_FILE_SIZE = 8;
// XML Constants
// sigla constants
final String NG = "Ng";
final String TB = "Tb";
final String TK = "Tk";
final String DG = "Dg";
final String BG = "Bg";
final String KG = "Kg";
final String[] EDNAMES = {"Master","mTshams brag","gTing skyes","sDe dge","Bai ro'i rgyud 'bum","sKyid grong"};
// Element and Attribute Constants
final String TIBL = "tibbibl"; // Element/root name
final String ID = "id"; // Attribute name
final String LVL = "level"; // Attribute name on Tibbibls (either, volume, text, chapter)
final String ED = "edition"; // Attribute value
final String SIG = "sigla"; // Attribute value
final String CLASS = "class"; // Attribute value
final String LET = "letter"; // Attribute value
final String TXT = "text"; // Attribute value
final String CHAPTER = "Chapter"; // Attribute value
final String DIV = "div1"; // Element name part
final String TYPE = "type"; // Attribute name
final String SUBTYPE = "subtype"; // Attribute name
final String TEXT = "text"; // Attribute value for DIVs 3 or 4.
final String TIBBIBL = "tibbibl"; // Element name for text's root element.
final String TITLE = "title"; // Element name
final String NORM_TITLE = "Normalized title"; // Attribute value (TYPE)
final String FOREIGN = "foreign"; // Element name
final String LANG = "lang"; // Attribute name
final String TIB = "tib"; // Attribute value
final String ENG = "eng"; // Attribute value
final String N = "n"; // Attribute name
final String P = "p"; // Element name
final String TITLEGRP = "titlegrp"; // Element that holds all the titles
final String TDECL = "titledecl"; // Element name
final String TLIST = "titlelist"; // Element name
final String HEAD = "head"; // Element name
final String CONTROL = "controlinfo";// ELement name
final String SID = "sysid"; // Element name
final String RESPDECL = "respdecl"; // Element name
final String RESPSTM = "respStmt"; // Element name
final String RESP = "resp"; // Element name
final String PERSNAME = "persname"; // Element name
final String NAME = "name"; // Element name
final String DATE = "date"; // Element name
final String REVDESC = "revisiondesc";// Element name
final String TRANS = "Translator"; // Element content
final String TRANS_JOB = "Translated and Edited titles."; // Element content
final String CHANGE = "change"; // Element name
final String LIST = "list"; // Element name
final String ITEM = "item"; // Element name
final String TIDDECL = "tibiddecl"; // Element name
final String TID = "tibid"; // Element name
final String ALT = "altid"; // Element name
final String PHYSDEC = "physdecl"; // Element name
final String PAGIN = "pagination"; // Element name
final String AP = "app"; // Element name
final String LM = "lem"; // Element name
final String EXPAN = "expan"; // Element name
final String ABBR = "abbr"; // Element name
final String INTDECL = "intelldecl"; // Element name
final String DOX = "doxography"; // Element name
final String DOXTYPE = "Doxography"; // Attribute value for doxogrpahy name elements
final String CATEG = "category"; // Attribute value for Type of Doxography
final String RELAT = "relation"; // Attribute value for Type of Doxography
final String SRC = "source"; // Element name
final String SYS = "system"; // Attribute name
final String NUMB = "number"; // Attribute value on TIBID
final String TXTHEAD = "text header";// Attribute value for TITLE type
final String TITLELN = "title line"; // Attribute value for Title subtype
final String WIT = "wit"; // Attribute name
final String RDG = "rdg"; // Element name
final String TINFO = "titleinfo"; // Element name
final String TDIV = "titlediv"; // Element name
final String TITEM = "titleitem";
final String DESIG = "designation";
final String CORRESP = "corresp"; // Attribute name
final String FRONT = "front";
final String BODY = "body";
final String BACK = "back";
final String NONTIB = "nontibet";
final String ORIG_LANG = "Original language"; // Attribute value
final String TEXT_HEAD = "text header";// Attribute value for type of title
final String RS = "rs"; // Element name
final String DISC = "discussion"; // Element name
final String SUMMARY = "summary"; // Disc Element Type attribute
final String SECTIONS = "sections"; // Element name
final String TIBANAL = "tibanal"; // Element name
final String NUM = "num"; // Element name
final String VOL = "volume"; // Attribute value;
final String NOTE = "note"; // Element name
final String HI = "hi"; // Element name
final String CIT = "cit"; // Element name (changed to QUOTE)
final String QUOTE = "quote"; // Element name
final String REND = "rend"; // Attribute name;
final String INFO = "info"; // Attribute (rend) value;
final String CREATOR = "creator"; // attribute value in control info
final String CONTROL_SOURCE = "source"; // attribute value in control info
final String CRIT_ED_LABEL = "crited"; // Attribute value in control info
final String CRIT_ED_DESC = "Critical Editing"; // element text phrase for control info
final String EDCONS = "Editions consulted"; // Rend value of Source for editions consulted.
final String MASTER_SIGLA = "Ng"; // Sigla for the Master edition
final String ATIYOGA = "a ti yo ga ";// Tibetan spelling
final String ANUYOGA = "a nu yo ga ";
final String MAHAYOGA = "ma h\u0101 yo ga ";
final String MISC = "Miscellaneous";
final String UNCLASSED = "Unclassified";
final String NOTFOUND = "not found"; // Attribute value for type on RDG elements
// The following three use partial strings that are unique but allow to do indexOf to ignore capitalization and punctuation.
final String NOT_SPEC = "specified"; // Contents of a title element when title missing.
final String NO_TITLE = "title given"; // Contents of a title element when none is given.1z
final String UNTITLED = "ntitled"; // Contents of untitled chapter. U not included to match all cases (Don't know why I didn't use equalsIgnoreCase()? Check it out!)
final String BRIEF = "Brief"; // Type attribute value for discussion, brief means no paragraphs.
final String FULL = "Full"; // Type attribute value for discussion, full means with paragraphs (changed value to long, more descriptive).
final String SIGLA_DELIM = " "; // delimits between sigla in a wit attribute
final String DATE_DELIM = "-";
final String DOX_DELIM = "."; // delimits between dox numbers in ID
final String DOX_CAT_DELIM = ":"; // delimits between names of dox categories.
final org.jdom.Element NO_ELEM = new org.jdom.Element("null");
// To take up a place in vector when there is no element associated with a string/style run in TextPanel
// Constants for Edition Attributes
final String ED_NAME = "EDITION_LETTER";
final String ED_SIGLA = "EDITION_SIGLA";
final String VOL_NUM = "VOLUME_NUMBER";
final String VOL_LET = "TIB_LETTER";
final String TEXT_NUM = "TEXT_NUMBER";
final String VOL_TEXT = "VOL_TEXT_NUMBER";
final String PAGE_RANGE = "PAGINATION";
final org.jdom.Attribute TYPE_ED = new org.jdom.Attribute(TYPE,ED);
final org.jdom.Attribute TYPE_VOL = new org.jdom.Attribute(TYPE,VOL);
final org.jdom.Attribute TYPE_TEXT = new org.jdom.Attribute(TYPE,TXT);
final org.jdom.Attribute TYPE_CLASS = new org.jdom.Attribute(TYPE,CLASS);
final org.jdom.Attribute SYS_LET = new org.jdom.Attribute(SYS,LET);
final org.jdom.Attribute SYS_SIG = new org.jdom.Attribute(SYS,SIG);
final org.jdom.Attribute SYS_NUM = new org.jdom.Attribute(SYS,NUM);
final org.jdom.Attribute LANG_TIB = new org.jdom.Attribute(LANG,TIB);
final org.jdom.Attribute LANG_ENG = new org.jdom.Attribute(LANG,ENG);
final org.jdom.Attribute CORRESP_NG = new org.jdom.Attribute(CORRESP,NG);
final org.jdom.Attribute TYPE_DOX = new org.jdom.Attribute(TYPE,DOX);
// Char Constants
final char BAD_PARA = ((char)(10)); // Para mark in data file is not understood.
final char SPACE = ' '; // A space to replace it with.
// Messages
final String TTITLE_TITLE = "Java Title Translation Program";
final String RUNTIME_ERROR = "A runtime error has occurred in ";
final String EDITOR_NAME_MESSAGE = "Please your initials for identification.";
final String EDITOR_NAME_TITLE = "Editor Identification";
final String DATE_MESSAGE = "Is today's date: ";
final String DATE_TITLE = "Confirm Date";
final String INPUT_DATE_MESSAGE = "Please enter the date (YYYY-MM-DD):";
final String INPUT_DATE_TITLE = "Enter Today's Date";
final String OPEN_TITLE = "Open XML Tibbibl Record";
final String TEXT_LIST_HEAD = "List of Texts in Tb Volume ";
final String EX1 = "\"1"+DOX_DELIM + "3" +DOX_DELIM+"6\"";
final String EX2 = "\"sems sde " + DOX_CAT_DELIM + " sna tshogs\"";
// JOptionPane Messages
final String JOP_ERROR = Integer.toString(JOptionPane.ERROR_MESSAGE);
final String JOP_INFO = Integer.toString(JOptionPane.INFORMATION_MESSAGE);
final String JOP_WARN = Integer.toString(JOptionPane.WARNING_MESSAGE);
final String JOP_QUEST = Integer.toString(JOptionPane.QUESTION_MESSAGE);
final String JOP_YESNOCANCEL = Integer.toString(JOptionPane.YES_NO_CANCEL_OPTION);
final String[] OPEN_ERROR = {"Could not open the XML file:\n",
"Unable to open file!",
JOP_ERROR};
final String[] DO_ALL_TITLES = {"Add this translation for all identical titles " +
"in this text?",
"Use Translation for Identical Titles?",
JOP_QUEST};
final String[] ED_EXISTS_MESSAGE = {"The sigla you have entered has " +
"already been added to the list of sources.",
"Duplicate Sigla Error",
JOP_ERROR};
final String NEW_ED_INFO = "New Edition Information";
final String ED_STRING = "Edition's name";
final String ED_SIG = "Edition Sigla";
final String ED_TEXT_NUM = "Edition Text Number";
final String ED_VOL_NUM = "Edition Volume Number";
final String ED_VOL_LET = "Edition Volume Letter";
final String VOL_TEXT_NUM = "Text Number in Volume";
final String FULL_TEXT_PAGE = "Full Pagination of Text";
final String TITLE_PAGE = "New Title's Pagination";
final String[] NEW_ED_INFO_SPECS = {ED_STRING,ED_SIG,ED_TEXT_NUM,ED_VOL_NUM, ED_VOL_LET,
VOL_TEXT_NUM, FULL_TEXT_PAGE, TITLE_PAGE};
final String NEW_ED_TITLE_INFO = "New Edition Title Information";
final String[] NEW_ED_TITLE_INFO_SPECS = {ED_SIG,TITLE_PAGE};
final String GET_DESIG = "Chapter Designation of Title Source";
final String GET_DESIG_QUESTION = "Enter the chapter number for the source of this title: ";
final String[] GET_DESIG_SPECS = {GET_DESIG_QUESTION,GET_DESIG,JOP_QUEST};
final String TLIST_WARN_TITLE = "Insertion Not Allowed!";
final String TLIST_WARN = "An edition title cannot be inserted into a list of End-of-Chapter titles." +
"\nUse Insert Title List under the insertion menu instead.";
final String[] TLIST_WARNING = {TLIST_WARN,TLIST_WARN_TITLE,JOP_WARN};
final String EDITORS_INFO = "Editor's Information";
final String EDITORS_NAME = "Your name";
final String EDITORS_INITIALS = "Your full initials";
final String[] EDITORS_INFO_SPECS = {EDITORS_NAME,EDITORS_INITIALS};
final String NOT_SPEC_TITLE = "Not Specified Title";
final String NOT_SPEC_MESSAGE = "The title you have chosen as the base for a critical title\n" +
"is \"Not specified.\" If you wish to enter a title from another source, \n"+
"use 'Insert Edition Title' from the Insert Menu. Then, use that as the \n" +
"basis of a critical title and translation.";
final String[] NOT_SPEC_SPECS = {NOT_SPEC_MESSAGE,NOT_SPEC_TITLE,JOP_ERROR};
final String NO_TITLE_TITLE = "No Title Given";
final String NO_TITLE_MESSAGE = "The title you have chosen as the base for a critical title\n" +
"informs us there was \"No title given.\" If you wish to enter a title from another source, \n"+
"use 'Insert Edition Title' from the Insert Menu. Then, use that as the \n" +
"basis of a critical title and translation.";
final String[] NO_TITLE_SPECS = {NO_TITLE_MESSAGE,NO_TITLE_TITLE,JOP_ERROR};
final String NOT_SAVED_TITLE = "Not Saved!";
final String NOT_SAVED_MESSAGE = "Do wish to save changes you have made to this file?";
final String[] SAVE_SPECS = {NOT_SAVED_MESSAGE,NOT_SAVED_TITLE,JOP_YESNOCANCEL};
final String INV_TRANS_TITLE = "Cannot Edit Translation";
final String INV_TRANS = "The cursor is not placed in a valid title or translation for editing.\n" +
"The cursor must be positioned in a master version of a title (Ng) or in\n" +
"its translation for the Edit Translation option.";
final String[] INVALID_TRANS_SPECS = {INV_TRANS,INV_TRANS_TITLE,JOP_ERROR};
final String RENAME_FILE_TITLE = "Tibbibl File Renamed!";
final String RENAME_FILE = "The Tibbibl file has been renamed to match the change in its Master ID. \n" +
"The new file name is: ";
final String[] RENAMING_FILE_SPECS = {RENAME_FILE,RENAME_FILE_TITLE,JOP_INFO};
final String SAVED_FILE_TITLE = "Tibbibl File Saved!";
final String SAVED_FILE = "The Tibbibl file has been saved under a name that matches its Master ID. \n" +
"The file name is: ";
final String[] SAVED_FILE_SPECS = {SAVED_FILE,SAVED_FILE_TITLE,JOP_INFO};
final String FILE_EXISTS_TITLE = "File Already Exists!";
final String FILE_EXISTS = "The file name generated for this text already exists.\n" +
"Do you wish to replace the existing file?\n" +
"(If you choose, 'no' another name will be automatically generated for this text.)\n"+
"File name: ";
final String[] FILE_EXISTS_SPECS = {FILE_EXISTS,FILE_EXISTS_TITLE,JOP_YESNOCANCEL};
final String ED_EXISTS_TITLE = "Rewrite Edition Info?";
final String ED_EXISTS = "The edition you entered is already found in this texts identification information.\n" +
"Do you wish to replace this information?";
final String[] ED_EXISTS_SPECS = {ED_EXISTS,ED_EXISTS_TITLE,JOP_YESNOCANCEL};
final String REMOVE_APP_TITLE = "Remove Variants at Cursor?";
final String REMOVE_APP_MESS = "Do you want to remove the variant readings at the cursor position?\n" +
"They will be replaced by the main reading now showing.";
final String[] REMOVE_APP_SPECS = {REMOVE_APP_MESS,REMOVE_APP_TITLE,JOP_YESNOCANCEL};
final String NO_SELECT_TITLE = "No Text Selected for Variant Readings";
final String NO_SELECTION = "You have not selected any text. You must select a range of text \n"+
"to which the variant readings will apply.";
final String[] NO_SELECTION_SPECS = {NO_SELECTION,NO_SELECT_TITLE,JOP_ERROR};
final String CREATE_FILE_LIST_TITLE = "No File List!";
final String CREATE_FILE_LIST = "No file list has been created.\nWould you like to build the file list?\n" +
"This may take some time...";
final String[] CREATE_FILE_LIST_SPECS = {CREATE_FILE_LIST,CREATE_FILE_LIST_TITLE,JOP_YESNOCANCEL};
final String REMOVE_ED_TITLE_TITLE = "Remove Added Title?";
final String REMOVE_ED_TITLE_MESS = "Do you wish to remove this title which you have added?";
final String[] REMOVE_ED_TITLE_SPECS = {REMOVE_ED_TITLE_MESS,REMOVE_ED_TITLE_TITLE,JOP_YESNOCANCEL};
final String REMOVE_ED_ERROR_TITLE = "Cannot Remove Title!";
final String REMOVE_ED_ERROR_MESS = "The title selected was not entered by you and so cannot be removed by you.";
final String[] REMOVE_ED_TITLE_ERROR = {REMOVE_ED_ERROR_MESS,REMOVE_ED_ERROR_TITLE,JOP_INFO};
final String DEL_EDS_TITLE = "Delete Inserted Edition!";
final String DEL_EDS_MESS = "In the table below, double click on the row\nfor the edition you wish to remove.\n" +
"(You can only remove editions that you have added.)";
final String TLIST_ADD_TITLE = "Cannot Add Edition Title";
final String TLIST_ADD_MESS = "A new edition title cannot be added to end of chapter titles.\n" +
"You can still create a master version of this title and provide alternate readings\n" +
"By double clicking on the existing title and using the \"Insert Variant Reading\" option.";
final String[] TLIST_ADD_ERROR = {TLIST_ADD_MESS,TLIST_ADD_TITLE,JOP_ERROR};
final String NORM_AP_TITLE = "Cannot Add Reading to Normalized Title";
final String NORM_AP_MESS = "You cannot add a reading to the normalized title.\n" +
"The normalized title is an assigned normative title not necessarily\n" +
"Found in the text itself. Thus, variant readings cannot be added to it.";
final String[] NORM_AP_ERROR = {NORM_AP_MESS,NORM_AP_TITLE,JOP_ERROR};
final String ED_ID_TITLE = "Editor's Identification Information Required!";
final String ED_ID_MESS = "This program cannot function properly unless the user properly identifies him or herself.\n" +
"Please enter your full name and your 2 or 3-letter editor initials/ID in the following window.\n" +
"(To quit the program without entering your information, press cancel in the next window.)";
final String[] ED_ID_REQUIRED = {ED_ID_MESS,ED_ID_TITLE,JOP_ERROR};
}