###############################################################################
# Copyright (c) 2004, 2012 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

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

runtimeName=Na&me:
browse=B&rowse...
install=Download and Install...
installDialogTitle=Download and Install
installDir=Tomcat installation &directory:
installedJRE=&JRE:
installedJREs=&Installed JREs...
selectInstallDir=Select Tomcat installation directory.
runtimeDefaultJRE=Workbench default JRE
contextCleanup=The context root of module {0} has been modified. Do you want to update the server configuration to match?

# 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. Server must be published with no modules present to make changes.
serverEditorLocationsDescription2=Specify the server path (i.e. catalina.base) and deploy path. Server must be published with no modules present to make changes.
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
# Note: The argument for the following three strings will be the string for
#       one of serverEditorDoesNotModify or serverEditorTakesControl or and empty string.
serverEditorServerDirMetadata=Use workspace metadata {0}
serverEditorServerDirInstall=Use Tomcat installation {0}
serverEditorServerDirCustom=Use custom location {0}
serverEditorServerDir=Server path:
serverEditorDeployDir=Deploy path:
serverEditorSecure=Enable security
# Note: The argument for the following string will be the serverEditorNotSupported string or an empty string
serverEditorDebugMode=Enable Tomcat debug logging {0}
serverEditorTestEnvironment=Run modules directly from the workspace (do not modify the Tomcat installation)
# Note: The argument for the following string will be the serverEditorNotSupported string or an empty string
serverEditorNoPublish=Serve modules without publishing {0}
serverEditorSeparateContextFiles=Publish module contexts to separate XML files {0}
serverEditorReloadableByDefault=Modules auto reload by default {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 workspace metadata location.
# Note: The argument for the following string will be the string for serverEditorServerDirMetadata with a blank string for its argument
errorServerDirCustomNotMetadata=Only the \"{0}\" selection may set the server path to the workspace metadata location.
# Note: The argument for the following string will be the string for serverEditorServerDirInstall with a blank string for its argument
errorServerDirCustomNotInstall=Only the \"{0}\" selection may set the server path to the Tomcat installation.
errorDeployDirNotSpecified=A deploy path must be specified.
serverEditorNotSupported=(not supported by this Tomcat version)
serverEditorDoesNotModify=(does not modify Tomcat installation)
serverEditorTakesControl=(takes control of Tomcat installation)
errorServerMustBeStopped=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 Work Directory
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 restarting the server.
cleanServerTask=Cleaning {0} work directory

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

# --- Clean Work Directory Errors ---
errorCouldNotCleanStateChange=Clean operation was aborted because {0} independently changed state after confirmation dialog was displayed.  Try again once the server has reached a stable state.
errorCouldNotCleanCantStop={0} can not be stopped at this time.  Try again when the server is stopped or can be stopped.
errorCouldNotCleanStopFailed={0} failed to stop.  Try again when the server is stopped or can be stopped.

errorCantIdentifyWebApp=Module {0} could not be associated with a Web application on a server.
errorCantDeleteServerNotStopped={0} work directory could not be deleted.  Server was not stopped.  Try again when the server is stopped or can be stopped.
errorErrorDuringClean=An error occurred while cleaning {0} work directory.
errorErrorDuringCleanWasRunning=An error occurred while cleaning {0} work directory.  {1} will not be automatically restarted.

errorCleanCantRestart={0} is unable to restart at this time.

# Terminate Server dialog
cleanTerminateServerDialogTitle=Clean Work Directory Terminate Server
cleanTerminateServerDialogMessage={0} has not finished stopping within the timeout period. Do you want to terminate this server immediately? Click OK to terminate the server or click Cancel to continue waiting.
