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

# --------------- Tasks (progress monitors) ---------------
savingTask=Saving {0}
deletingTask=Deleting {0}

taskPerforming=Performing Tasks
taskModifyModules=Adding and/or removing resources.
taskUncompressing=Uncompressing: {0}
taskDownloadSizeKnown=Downloading: {0}, received {1} of {2} kbytes
taskDownloadSizeUnknown=Downloading: {0}, received {1} kbytes

publishing=Publishing to {0}...
publishingStatusInfo=Publishing completed with information
publishingStatusWarning=Publishing completed with a warning
publishingStatusError=Publishing failed
publishingStop=Disconnecting from server

publishingModule=Publishing: {0}
publishedModule={0} published successfully

jobStarting=Starting {0}
jobStopping=Stopping {0}
jobRestarting=Restarting {0}
jobUpdatingServers=Updating server status
jobUpdateServer=Updating status for {0}...
jobInstallingRuntime=Installing server runtime environment

# --------------- Misc UI ---------------

# Error Messages
errorPublishing=Could not publish to the server.
errorNoConfiguration=The server has no configuration.
errorLoading=Error loading from {0}.
errorSaving=Could not save to {0}.
errorModuleRestartFailed=Could not restart the module.
errorWorkingCopyTimestamp=Could not save because the file has been modified since the start of editing.
errorRuntimeName=Enter a name for the runtime environment.
errorDuplicateRuntimeName=The name is already in use. Specify a different name.
errorStartTimeout=Server {0} was unable to start within {1} seconds. If the server requires more time, try increasing the timeout in the server editor.
errorStartFailed=Server {0} failed to start.
errorStopFailed=Server {0} failed to stop.
errorRestartTimeout=Server {0} failed to restart within {1} seconds.
errorRestartFailed=Server {0} failed to restart.
errorCannotAddModule=The server does not support version {1} of the {0} specification.
errorInstallingServer=Error occurred installing server: {0}
errorInstallingServerFeature=Could not download and install update feature.

# Default server creation names
# {0} will be replaced by a number if the given name is already being used
defaultServerProjectName=Servers{0}
defaultRuntimeName={0}
defaultRuntimeName2={0} ({1})
defaultServerName={0} at {1}
defaultServerName2={0} at {1} ({2})
defaultServerName3={0}
defaultServerName4={0} ({1})

# Used when a name can't be found
defaultVendor=Basic
defaultVersion=None
moduleTypeUnknown=Unknown module

canStartErrorState=The server cannot start because it is currently starting or stopping. Wait for the current operation to complete.
errorLaunchMode=The server does not support the given launch mode.
errorRestartNotStarted=Cannot restart the server because it is not currently running.
errorPublishStarting=Cannot publish to the server because it is currently starting or stopping.
errorPublishNoRuntime=Cannot publish to the server because it is missing its runtime environment.
errorPublishNoConfiguration=Cannot publish to the server because the configuration is missing.
errorStopAlreadyStopped=The server cannot be stopped because it is already stopped or stopping.
errorRestartModule=The module cannot be restarted.
errorPublishModule=The module cannot be published.
errorMissingAdapter=Could not load server adapter. Check to make sure that the installation is complete.

errorCopyingFile=Error copying file {0}: {1}
errorDeleting=Could not delete {0}. May be locked by another process.
errorMkdir=Could not create directory {0}.
copyingTask=Copying from {0} to {1}
errorReading=Error reading file {0}
errorCreatingZipFile=Error creating zip file {0}: {1}
errorRename=Could not replace with temp file {0}.
errorNotADirectory=Could not delete {0} since it is not a directory.

errorNoRuntime=Cannot verify facets because there is no runtime environment associated with the server.
errorFacet=Project facet {0} version {1} is not supported.