###############################################################################
# Copyright (c) 2004 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
###############################################################################

# --------------- General UI ---------------

runtimeName=Na&me:
browse=B&rowse...
install=Download and Ins&tall...
installDir=Tomcat installation &directory:
installedJRE=&JRE:
installedJREs=&Installed JREs...
selectInstallDir=Select Tomcat installation directory.
runtimeDefaultJRE=Workbench default JRE

# New Tomcat server wizard
wizardTitle=Tomcat Server
wizardDescription=Specify the installation directory

# --------------- Editors ---------------

# General text used in both editors
editorRemove=Remove
editorAdd=Add...
editorEdit=Edit...
editorBrowse=Browse...

# --- Configuration Editor ---
configurationEditorWebModulesPageTitle=Web Modules
configurationEditorWebModulesSection=Web Modules
configurationEditorWebModulesDescription=Configure the Web Modules on this server.
configurationEditorMimeMappingsSection=MIME Mappings
configurationEditorMimeMappingsDescription=Configure MIME type mappings.
configurationEditorPortsSection=Ports
configurationEditorPortsDescription=Modify the server ports.

# Fields
configurationEditorPortNameColumn=Port Name
configurationEditorPortValueColumn=Port Number
configurationEditorPathColumn=Path
configurationEditorDocBaseColumn=Document Base
configurationEditorProjectColumn=Module
configurationEditorReloadColumn=Auto Reload
configurationEditorProjectMissing={0} missing
configurationEditorReloadEnabled=Enabled
configurationEditorReloadDisabled=Disabled
configurationEditorAddProjectModule=Add Web Module...
configurationEditorAddExternalModule=Add External Web Module...

# Add/Edit Mime Mapping dialog
configurationEditorMimeMapppingDialogTitleEdit=Edit MIME Mapping
configurationEditorMimeMapppingDialogTitleAdd=Add MIME Mapping
configurationEditorMimeMapppingDialogMimeType=MIME &type:
configurationEditorMimeMapppingDialogMimeExtension=MIME &extension:

# Add/Edit Web Module dialog
configurationEditorWebModuleDialogTitleEdit=Edit Web Module
configurationEditorWebModuleDialogTitleAdd=Add Web Module
configurationEditorWebModuleDialogProjects=&Modules:
configurationEditorWebModuleDialogPath=P&ath:
configurationEditorWebModuleDialogDocumentBase=&Document base:
configurationEditorWebModuleDialogReloadEnabled=Auto r&eloading enabled
configurationEditorWebModuleDialogSelectDirectory=Select the Web module directory.
errorMissingWebModule=The Web module at the following location cannot be found: {0}.

# --- Server Editor ---
serverEditorLocationsSection=Server Locations
serverEditorLocationsDescription=Specify the server and deploy paths. Relative server paths are relative to the workspace. Relative deploy paths are relative to the server path. These settings can be changed only when the server is synchronized with no modules present, or has never been published. 
serverEditorLocationsDescription2=Specify the server path (i.e. catalina.base) and deploy path. Relative server paths are relative to the workspace. Relative deploy paths are relative to the server path. These settings can be changed only when the server is synchronized with no modules present, or has never been published. 
serverEditorGeneralSection=Server Options
serverEditorGeneralDescription=Enter settings for the server.

# Link Fields 
serverEditorSetInternalServerDirLink=Set server path to internally supplied location
serverEditorSetInternalServerDirLink2=Set server path to internally supplied location (currently set)
serverEditorSetInstallServerDirLink=Set server path to the location of the Tomcat installation
serverEditorSetInstallServerDirLink2=Set server path to the location of the Tomcat installation (currently set)
serverEditorSetDefaultDeployDirLink=Set deploy path to the default value
serverEditorSetDefaultDeployDirLink2=Set deploy path to the default value (currently set)

# Fields
serverEditorServerDir=Server path:
serverEditorDeployDir=Deploy path:
serverEditorSecure=Enable security
serverEditorDebugMode=Enable Tomcat debug mode (v4.x and above only)
serverEditorTestEnvironment=Run modules directly from the workspace (do not modify the Tomcat installation)
serverEditorNoPublish=Serve modules without publishing {0}
errorServerDirIsRoot=The server path may not be set to the the root of your workspace.
errorServerDirUnderRoot=The server path may not be under the \"{0}\" folder of your workspace unless it is the internally supplied path.
errorDeployDirNotSpecified=A deploy path must be specified.
serverEditorNotSupported= (not supported by this Tomcat version)
errorNoPublishServerMustBeStopped=The server must be stopped before a change to the \"{0}\" setting can be saved.

# Browse for Server dialog
serverEditorBrowseServerMessage=Select a server directory.

# Browse for Deploy dialog
serverEditorBrowseDeployMessage=Select a deploy directory.

# --- Clean Work Directory ---
confirmCleanWorkDirTitle=Confirm Clean
cleanServerStateChanging=The state of {0} is in transition or unknown.  Try again when the server has reached a stable state.
cleanModuleWorkDir=Clean work directory for module {0} on {1}.
cleanServerWorkDir=Clean work directories for all Web applications on {0}.
cleanServerRunning=The server must be stopped to clean the work directory.  Clicking OK will include stopping and restaring the server.
cleanServerTask=Cleaning server work directory...

# --- Error Strings ---
errorDefaultDialogTitle=Tomcat Server Error

# --- Clean Work Directory Errors ---
errorCleanModuleTitle=Clean Module Work Directory Error
errorCleanServerTitle=Clean Server Work Directory Error
errorCouldNotCleanModule=Could not clean {0} work directory on {1}.
errorCouldNotCleanServer=Could not clean work directory on {0}.
errorCouldNotCleanStateChange=Clean aborted because the server changed state after confirmation dialog was displayed.
errorCouldNotCleanCantStop="Server can not be stopped at this time.  Try again when the server is stopped or can be stopped.
errorCouldNotCleanStopFailed=Server failed to stop.  Try again when the server is stopped or can be stopped.

errorCleanFailedModule=Clean failed for {0} work directory on {1}.
errorCleanFailedServer=Clean failed for work directory on {0}.
errorCantIdentifyWebApp=Selected module could not be associated with a Web application on the server.
errorCantIdentifyWebAppWasRunning=Selected module could not be associated with a Web application on the server.  Server will not be restarted.
errorErrorDuringClean=An error occurred while cleaning the work directory.
errorErrorDuringCleanWasRunning=An error occurred while cleaning the work directory.  Server will not be restarted.

errorCleanNoRestartModule=Module {0} was successfully cleaned, but server is unable to restart.
errorCleanNoRestartServer=Server {0} was successfully cleaned, but is unable to restart.
errorCleanCantRestart=Server is unable to restart at this time.
errorCleanRestartFailed=Server restart was not successful or did not complete in the expected amount of time.