/**********************************************************************
 * Copyright (c) 2005, 2007 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 defaultDialogTitle;
	public static String preferenceRuntimesTitleLong;
	public static String prefAutoPublish;
	public static String prefAutoPublishLocal;
	public static String prefAutoPublishLocalTime;
	public static String prefAutoPublishRemote;
	public static String prefAutoPublishRemoteTime;
	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 actionStartToolTip;
	public static String actionStart;
	public static String actionProfileToolTip;
	public static String actionProfile;
	public static String actionProfileRestart;
	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 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 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 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 runtimeTypeCompDescription;
	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 serverEditorOverviewAutoPublishSection;
	public static String serverEditorOverviewAutoPublishDescription;
	public static String serverEditorOverviewAutoPublishDefault;
	public static String serverEditorOverviewAutoPublishDefaultEdit;
	public static String serverEditorOverviewAutoPublishDisable;
	public static String serverEditorOverviewAutoPublishOverride;
	public static String serverEditorOverviewAutoPublishOverrideInterval;
	public static String serverEditorOverviewAutoPublishCommand;
	public static String serverEditorOverviewAutoPublishInvalid;
	public static String serverEditorOverviewTimeoutSection;
	public static String serverEditorOverviewTimeoutDescription;	
	public static String serverEditorOverviewTimeoutCommand;	
	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 viewStatusStarting4;
	public static String viewStatusStarted2;
	public static String viewStatusStopping4;
	public static String viewStatusStopped2;
	public static String viewStatusStarting1;
	public static String viewStatusStarting2;
	public static String viewStatusStarting3;
	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 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 preferenceInternetDescription;
	public static String internalWebBrowserName;

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