/**********************************************************************
 * Copyright (c) 2005, 2008 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *    IBM Corporation - Initial API and implementation
 **********************************************************************/
package org.eclipse.wst.server.ui.internal;

import org.eclipse.osgi.util.NLS;
/**
 * Translated messages.
 */
public class Messages extends NLS {
	public static String dialogMonitorDescription;
	public static String dialogMonitorAddDescription;
	public static String errorVersionLevel;
	public static String loadingTask;
	public static String createServerProjectDialogMessage;
	public static String defaultServerProjectName;
	public static String terminateServerDialogMessage;
	public static String actionMonitorPort;
	public static String deleteServerDialogTitle;
	public static String deleteServerDialogMessage;
	public static String deleteServerDialogMessageMany;
	public static String deleteServerDialogLooseConfigurations;
	public static String deleteServerDialogRunningServer;
	public static String deleteServerDialogRunningServerStop;
	public static String deleteServerTask;
	public static String errorCouldNotCreateServerProjectStatus;
	public static String savingTask;
	public static String editorSaveErrorDialog;
	public static String editorSaveErrorMessage;
	public static String editorReadOnlyFiles;
	public static String errorEditor;
	public static String editorUndoDisabled;
	public static String editorUndoEnabled;
	public static String editorRedoDisabled;
	public static String editorRedoEnabled;
	public static String editorResourceDeleteTitle;
	public static String editorResourceDeleteServerMessage;
	public static String editorResourceDeleteSave;
	public static String resourceDirtyDialogMessage;
	public static String wizSelectClientTitle;
	public static String wizSelectClientDescription;
	public static String resourceDirtyDialogTitle;
	public static String resourceDirtyDialogContinue;
	public static String wizNewRuntimeWizardTitle;
	public static String serverLaunchDescription;
	public static String serverLaunchServer;
	public static String serverLaunchHost;
	public static String serverLaunchRuntime;
	public static String errorNoServerSelected;
	public static String errorServerAlreadyRunning;
	public static String errorInvalidServer;
	public static String serverLaunchConfigurationTab;
	public static String runOnServerLaunchConfigName;
	public static String wizSelectClientMessage;
	public static String errorCouldNotCreateServerProject;
	public static String errorDialogTitle;
	public static String editorValidateEditFailureMessage;
	public static String prefProjectNotModule;
	public static String prefProject;
	public static String prefProjectDefaultServer;
	public static String prefProjectNotConfigured;
	public static String prefProjectNoServer;
	public static String propServerInfoName;
	public static String propServerInfoType;
	public static String propServerInfoVendor;
	public static String toolTipEnableFocus;
	public static String toolTipDisableFocus;
	public static String errorCouldNotSavePreference;
	public static String preferenceRuntimesDescription;
	public static String add;
	public static String edit;
	public static String remove;
	public static String search;
	public static String dialogRuntimeSearchMessage;
	public static String dialogRuntimeSearchTitle;
	public static String dialogRuntimeSearchProgress;
	public static String infoNoRuntimesFound;
	public static String wizEditRuntimeWizardTitle;
	public static String preferenceRuntimesTable;
	public static String dialogRuntimeInUse;
	public static String dialogRuntimeDeleteServers;
	public static String dialogRuntimeRemoveTargets;
	public static String defaultDialogTitle;
	public static String preferenceRuntimesTitleLong;
	public static String prefAutoPublish;
	public static String prefLaunchMode;
	public static String prefLaunchModeRestart;
	public static String prefLaunchModeContinue;
	public static String prefLaunchModePrompt;
	public static String prefLaunchMode2;
	public static String prefLaunchMode2Restart;
	public static String prefLaunchMode2Continue;
	public static String prefLaunchMode2Breakpoints;
	public static String prefLaunchMode2Prompt;
	public static String prefBreakpoints;
	public static String prefBreakpointsAlways;
	public static String prefBreakpointsNever;
	public static String prefBreakpointsPrompt;
	public static String prefRestart;
	public static String prefRestartAlways;
	public static String prefRestartNever;
	public static String prefRestartPrompt;
	public static String prefShowOnActivity;
	public static String prefSaveEditors;
	public static String prefSaveEditorsAlways;
	public static String prefSaveEditorsNever;
	public static String prefSaveEditorsPrompt;
	public static String actionNew;
	public static String actionNewServer;
	public static String actionProperties;
	public static String actionOpen;
	public static String actionShowIn;
	public static String actionCopy;
	public static String actionPaste;
	public static String actionDebugToolTip;
	public static String actionDebug;
	public static String actionDebugRestart;
	public static String actionDebugRestartToolTip;
	public static String actionStartToolTip;
	public static String actionStart;
	public static String actionProfileToolTip;
	public static String actionProfile;
	public static String actionProfileRestart;
	public static String actionProfileRestartToolTip;
	public static String actionRestartToolTip;
	public static String actionRestart;
	public static String actionPublishToolTip;
	public static String actionPublish;
	public static String actionPublishCleanToolTip;
	public static String actionPublishClean;
	public static String actionRename;
	public static String actionDelete;
	public static String actionRemove;
	public static String dialogRemoveModuleConfirm;
	public static String terminateServerDialogTitle;
	public static String actionDebugOnServer;
	public static String actionProfileOnServer;
	public static String actionRunOnServer;
	public static String processName;
	public static String actionStopModule;
	public static String actionStartModule;
	public static String actionRestartModule;
	public static String actionSwitchServerLocation;
	public static String switchServerLocation;
	public static String switchServerLocationMetadata;
	public static String dialogAddRemoveModulesNone;
	public static String actionSetNewServer;
	public static String errorNoArtifact;
	public static String errorNoModules;
	public static String errorLaunchConfig;
	public static String dialogModeWarningRun;
	public static String dialogModeWarningDebug;
	public static String dialogModeWarningProfile;
	public static String dialogModeWarningRestart;
	public static String dialogModeWarningBreakpoints;
	public static String dialogModeWarningContinue;
	public static String dialogBreakpoints;
	public static String dialogBreakpointsReenable;
	public static String dialogBreakpointsContinue;
	public static String dialogRemember;
	public static String dialogRestart;
	public static String dialogRestartRestart;
	public static String dialogRestartContinue;
	public static String dialogPublishClean;
	public static String errorNoServer;
	public static String errorRootModule;
	public static String hostname;
	public static String wizModuleTitle;
	public static String wizModuleDescription;
	public static String wizModuleMessage;
	public static String wizModuleAvailableList;
	public static String wizModuleDeployedList;
	public static String wizModuleAdd;
	public static String wizModuleRemove;
	public static String wizModuleAddAll;
	public static String wizModuleRemoveAll;
	public static String wizModuleRequiredModule;
	public static String wizModuleRequiredModules;
	public static String wizModulePublishImmediately;
	public static String wizTaskTitle;
	public static String wizTaskDescription;
	public static String wizErrorInvalidFolder;
	public static String wizErrorClosedProject;
	public static String createServerProjectDialogTitle;
	public static String wizNewServerTitle;
	public static String wizNewServerDescription;
	public static String wizNewServerRunOnServerDescription;
	public static String wizNewServerSelect;
	public static String wizNewServerManual;
	public static String wizSelectServerPreferred;
	public static String wizNewServerExisting;
	public static String wizNewServerRuntime;
	public static String wizNewServerRuntimeCreate;
	public static String wizErrorServerCreationError;
	public static String wizRunOnServerTitle;
	public static String wizDebugOnServerTitle;
	public static String wizProfileOnServerTitle;
	public static String wizModuleArtifactsDescription;
	public static String wizModuleArtifactsAvailableList;
	public static String wizModuleArtifactsNoSelectionError;
	public static String wizNewRuntimeTitle;
	public static String wizNewRuntimeDescription;
	public static String wizNewRuntimeCreateServer;
	public static String performingTasks;
	public static String wizModuleWizardTitle;
	public static String wizNewServerWizardTitle;
	public static String wizSelectClientWizardTitle;
	public static String wizTaskWizardTitle;
	public static String dialogMonitorTitle;
	public static String dialogMonitorMonitorPort;
	public static String dialogMonitorColumnStatus;
	public static String dialogMonitorColumnType;
	public static String dialogMonitorColumnPort;
	public static String dialogMonitorColumnMonitorPort;
	public static String dialogMonitorColumnContentType;
	public static String dialogMonitorContentType;
	public static String dialogMonitorContentTypeAll;
	public static String dialogMonitorContentTypeWeb;
	public static String dialogMonitorContentTypeWebServices;
	public static String dialogMonitorNone;
	public static String start;
	public static String stop;
	public static String started;
	public static String stopped;
	public static String columnName;
	public static String columnType;
	public static String runtimeTypeCompTree;
	public static String configureRuntimes;
	public static String addRuntime;
	public static String wizNewServerSelectExisting;
	public static String elementUnknownName;
	public static String serverTypeCompLabel;
	public static String serverName;
	public static String serverNameDefault;
	public static String viewServers;
	public static String viewNoModules;
	public static String viewServer;
	public static String viewStatus;
	public static String viewState;
	public static String actionStopToolTip;
	public static String actionStop;
	public static String actionModifyModulesToolTip;
	public static String actionModifyModules;
	public static String actionMonitor;
	public static String viewInitializing;
	public static String viewSyncOkay;
	public static String viewSyncRestart;
	public static String viewSyncPublish;
	public static String viewSyncRestartPublish;
	public static String viewSyncPublishing;
	public static String viewSyncOkay2;
	public static String viewSyncRestart2;
	public static String viewSyncPublish2;
	public static String viewSyncRestartPublish2;
	public static String viewSyncPublishing2;
	public static String editorServerEditor;
	public static String editorPromptIrreversible;
	public static String editorRenameFiles;
	public static String errorEditorCantSave;
	public static String errorDuplicateName;
	public static String editorReadOnly;
	public static String editorWritable;
	public static String editorResourceModifiedTitle;
	public static String editorReadOnlyMessage;
	public static String editorServerModifiedMessage;
	public static String editorResourceWarnTitle;
	public static String editorResourceWarnMessage;
	public static String serverEditorOverviewPageTitle;
	public static String serverEditorOverviewGeneralSection;
	public static String serverEditorOverviewGeneralDescription;
	public static String serverEditorOverviewServerName;
	public static String serverEditorOverviewServerHostname;
	public static String serverEditorOverviewRuntime;
	public static String serverEditorOverviewRuntimeEdit;
	public static String serverEditorOverviewServerConfigurationPath;
	public static String serverEditorOverviewServerConfigurationBrowse;
	public static String serverEditorOverviewServerConfigurationBrowseMessage;
	public static String serverEditorOverviewPublishSection;
	public static String serverEditorOverviewPublishDescription;
	public static String serverEditorOverviewAutoPublishDisable;
	public static String serverEditorOverviewAutoPublishEnabled;
	public static String serverEditorOverviewAutoPublishEnabledInterval;
	public static String serverEditorOverviewPublishCommand;
	public static String serverEditorOverviewTimeoutSection;
	public static String serverEditorOverviewTimeoutDescription;	
	public static String serverEditorOverviewTimeoutCommand;	
	public static String serverEditorOverviewPublishers;
	public static String serverEditorOverviewStartTimeout;	
	public static String serverEditorOverviewStopTimeout;
	public static String serverEditorOverviewServerHostnameCommand;
	public static String serverEditorOverviewServerNameCommand;
	public static String serverEditorOverviewRuntimeCommand;
	public static String serverEditorOverviewOpenLaunchConfiguration;
	public static String errorMissingConfiguration;
	public static String errorConfigurationNotAccessible;
	public static String viewStatusStarting4;
	public static String viewStatusStarted2;
	public static String viewStatusStopping4;
	public static String viewStatusStopped2;
	public static String viewStatusStarting;
	public static String viewStatusStarting1;
	public static String viewStatusStarting2;
	public static String viewStatusStarting3;
	public static String viewStatusStopping;
	public static String viewStatusStopping1;
	public static String viewStatusStopping2;
	public static String viewStatusStopping3;
	public static String viewStatusStartedDebug;
	public static String viewStatusStartedProfile;
	public static String viewStatusStarted;
	public static String viewStatusStopped;
	public static String actionStopToolTip2;
	public static String actionStop2;
	public static String launchingClientTask;
	public static String wizNewInstallableServerTitle;
	public static String wizNewInstallableServerDescription;
	public static String wizNewInstallableServerMessage;
	public static String wizNewInstallableServerConfirm;
	public static String wizNewInstallableServerJob;
	public static String wizNewInstallableServerRestart;
	public static String wizNewInstallableServerSiteError;
	public static String installableServerCompTree;
	public static String installableServerLink;
	public static String installableServerLocal;
	public static String installableServerSearching;
	public static String wizLicenseTitle;
	public static String wizLicenseDescription;
	public static String wizLicenseAccept;
	public static String wizLicenseDecline;
	public static String wizLicenseNone;
	public static String jobInitializing;
	public static String jobInitializingServersView;
	public static String jobRestarting;
	public static String clientDefaultName;
	public static String clientDefaultDescription;
	public static String moduleDecoratorProject;
	public static String minutes;
	public static String modules;

	public static String errorStartingMonitor;
	public static String audioPrefSelectFile;
	public static String audioPrefEnable;
	public static String audioPrefVolume;
	public static String audioPrefSounds;
	public static String audioPrefSound;
	public static String audioPrefFile;
	public static String audioPrefPlay;
	public static String audioPrefBrowse;
	public static String audioPrefReset;
	public static String audioUnknown;
	public static String audioNone;
	public static String audioDefault;

	public static String internalWebBrowserName;

	static {
		NLS.initializeMessages(ServerUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
	}
}