###############################################################################
# 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
###############################################################################
pluginName=Server Core
providerName=Eclipse.org

extensionPointServerStartup=Server Startup
extensionPointModuleTypes=Module Types
extensionPointRuntimeTypes=Runtime Types
extensionPointRuntimeTargetHandlers=Runtime Target Handlers
extensionPointRuntimeLocators=Runtime Locators
extensionPointServerTypes=Server Types
extensionPointServerLocators=Server Locators
extensionPointServerConfigurationTypes=Server Configuration Types
extensionPointModuleFactories=Module Factories
extensionPointModuleObjectAdapters=Module Artifact Adapters
extensionPointLaunchableAdapters=Launchable Adapters
extensionPointClients=Clients
extensionPointServerTasks=Server Tasks
extensionPointServerMonitors=Server Monitors

# --------------- Tasks (progress monitors) ---------------

# General tasks
copyingTask=Copying from {0} to {1}
unZippingTask=Unzipping {0}
expandingTask=Expanding {0}
savingTask=Saving {0}
deletingTask=Deleting {0}
copyingTask=File copied successfully to {0}

taskPerforming=Performing Tasks
taskModifyModules=Adding and/or removing projects.

publishingTask=Publishing to {0}...
publishingStatus=Publishing status
publishingStop=Disconnecting from server

publishingProject=Publishing: {0}

publishingCancelled=Publishing cancelled

# --------------- 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}.
errorCopyingFile=Error copying file to {0}: {1}
errorModuleRestartFailed=Could not restart the module.
errorWorkingCopyTimestamp=Could not save because the file has been modified since the start of editting.
errorRuntimeName=Enter a name for the runtime.
errorDuplicateRuntimeName=Name is already in use.
errorStartFailed=Could not start the server.

# 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} @ {1}
defaultServerName2={0} @ {1} ({2})
defaultServerName3={0}
defaultServerName4={0} ({1})
defaultServerConfigurationName={0}
defaultServerConfigurationName2={0} ({1})

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

# null launchable
nullLaunchableClient=Do nothing
nullLaunchableClientDescription=Do not launch anything after starting the server.
