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

# --------------- Wizards ---------------
# (If the first two lines in a group do not start with "wiz", it is because
# those lines are displayed in the workbench "New" wizard. The rest of the
# text is displayed in each actual wizard)

# New Server (and Configuration) Wizard
wizNewServerWizardTitle=New Server
wizNewServerTitle=Define a New Server
wizNewServerDescription=Choose the type of server to create
wizNewServerRunOnServerDescription=Select which server to use
wizNewServerRuntime=Server &runtime environment:
wizNewServerRuntimeCreate=Create a new runtime environment

wizNewServerSelect=How do you want to select the server?
wizNewServerExisting=Choose an e&xisting server
wizNewServerManual=&Manually define a new server
wizNewServerSelectExisting=Select the server that you want to use:

# Select Server wizard
wizRunOnServerTitle=Run On Server
wizDebugOnServerTitle=Debug On Server
wizProfileOnServerTitle=Profile On Server
wizSelectServerPreferred=Always use this server when running this &project

# Select Server Client Wizard
wizSelectClientWizardTitle=Select a Server Client
wizSelectClientTitle=Select a server client
wizSelectClientDescription=Select a client to use with this server.
wizSelectClientMessage=Multiple clients can run on the current selection. Select a client from the list below:

# Select ModuleArtifact Wizard
wizModuleArtifactsDescription=Specify how to start the selected resource.
wizModuleArtifactsAvailableList=Available launchers:
wizModuleArtifactsNoSelectionError=You must select a launcher.

# Task Wizard
wizTaskWizardTitle=Select Tasks
wizTaskTitle=Select Tasks
wizTaskDescription=Select the tasks to perform on the server.

# New Runtime Wizard
wizNewRuntimeWizardTitle=New Server Runtime Environment
wizNewRuntimeTitle=New Server Runtime Environment
wizNewRuntimeDescription=Define a new server runtime environment
wizNewRuntimeCreateServer=&Create a new local server
wizEditRuntimeWizardTitle=Edit Server Runtime Environment

# New Server Adapter Wizard
wizNewInstallableServerTitle=Install New Server Adapter
wizNewInstallableServerDescription=Download and install support for a new server
wizNewInstallableServerMessage=The following server adapters have been found on remote update manager sites. Select a server adapter to download and install.
wizNewInstallableServerConfirm=Support for {0} will now be downloaded and installed. You will be prompted to restart once the installation is complete.
wizNewInstallableServerJob=Installing {0}
wizNewInstallableServerRestart=Installation complete. The new server will not be available until after the workbench is restarted. Do you want to restart now?
wizNewInstallableServerSiteError=Could not connect to {0}

# License wizard
wizLicenseTitle=Feature License
wizLicenseDescription=This license must be accepted before proceeding with the installation.
wizLicenseAccept=I &accept the terms of the license agreement
wizLicenseDecline=I &do not accept the terms of the license agreement
wizLicenseNone=Feature does not contain a license.

# Add/Remove Modules
wizModuleWizardTitle=Add and Remove Projects
wizModuleTitle=Add and Remove Projects
wizModuleDescription=Modify the projects that are configured on the server
wizModuleMessage=Move projects to the right to configure them on the server
wizModuleAvailableList=&Available projects:
wizModuleDeployedList=&Configured projects:
wizModuleAdd=A&dd >
wizModuleAddAll=Add A&ll >>
wizModuleRemove=< &Remove
wizModuleRemoveAll=<< Re&move All
wizModuleRequiredModule={0} is required and cannot be removed from the server
wizModuleRequiredModules=One of the required modules ({0}) must be added to the server
wizModulePublishImmediately=If server is started, publish changes &immediately

# Wizard info and error messages
wizErrorInvalidFolder=The folder must be a server project or a folder within a server project
wizErrorClosedProject=The folder must not be in a closed project
wizErrorServerCreationError=Cannot create a server using the selected type


# --------------- Views ---------------

# --- Server Configuration view ---
viewServers=Servers

viewNoModules=Nothing deployed

# Actions
actionDelete=Delete
actionRemove=Remove
actionOpen=Open
actionShowIn=Show In
actionCopy=Copy
actionPaste=Paste
actionMonitor=Monitorin&g
actionMonitorPort=Monitor port {0} ({1})
actionProperties=Properties
actionNew=Ne&w
actionNewServer=Server

# --- Servers view ---
viewInitializing=Initializing...

# Column titles
viewServer=Server
viewStatus=Status
viewState=State

# Actions
actionStart=&Start
actionStartToolTip=Start the server
actionDebug=&Debug
actionDebugToolTip=Start the server in debug mode
actionDebugRestart=Restart in Debug
actionDebugRestartToolTip=Restart the server in debug mode
actionProfile=Pro&file
actionProfileToolTip=Start the server in profiling mode
actionProfileRestart=Restart in Profile
actionProfileRestartToolTip=Restart the server in profiling mode
actionStop=S&top
actionStopToolTip=Stop the server
actionRestart=&Restart
actionRestartToolTip=Restart the server
actionPublish=Publish
actionPublishToolTip=Publish to the server
actionPublishClean=&Clean...
actionPublishCleanToolTip=Clean projects on the server
actionModifyModules=Add and Remove &Projects...
actionModifyModulesToolTip=Add and remove projects
actionRestartModule=&Restart
actionStartModule=&Start
actionStopModule=S&top
actionSwitchServerLocation=Switch Location
switchServerLocation=Location:
switchServerLocationMetadata=[workspace metadata]
actionRename=Re&name

# Status column text
viewStatusStarted=Started
viewStatusStartedDebug=Debugging
viewStatusStartedProfile=Profiling
viewStatusStopped=Stopped

viewStatusStarting1=Starting.
viewStatusStarting2=Starting..
viewStatusStarting3=Starting...

viewStatusStopping1=Stopping.
viewStatusStopping2=Stopping..
viewStatusStopping3=Stopping...

# Server State text
viewSyncOkay=Synchronized
viewSyncRestart=Restart
viewSyncPublish=Republish
viewSyncRestartPublish=Restart & republish
viewSyncPublishing=Publishing...

# --- set 2 ---
# Actions
actionStop2=Disconnect
actionStopToolTip2=Disconnect from the server

# Status column text
viewStatusStarting4=Connecting
viewStatusStarted2=Connected
viewStatusStopping4=Disconnecting
viewStatusStopped2=Disconnected

# Server State text
viewSyncOkay2=Synchronized
viewSyncRestart2=Reconnect
viewSyncPublish2=Republish
viewSyncRestartPublish2=Reconnect and republish
viewSyncPublishing2=Publishing...


# --------------- Action Sets (toolbar icon groups) ---------------

# Servers action set
actionSetNewServer=Create Server

# Run on Server actions
actionRunOnServer=Run on Server...
actionDebugOnServer=Debug on Server...
actionProfileOnServer=Profile on Server...
processName=Run on Server


# --------------- Preferences ---------------

# Names of the preference pages
preferenceRuntimesTitleLong=Server Runtime Environments

# Server preferences
prefAutoPublish=Automatically publish w&hen starting servers
prefShowOnActivity=Show &Servers view when server state changes

prefSaveEditors=Save dirty editors before starting the server
prefSaveEditorsAlways=A&lways
prefSaveEditorsNever=&Never
prefSaveEditorsPrompt=&Prompt

prefLaunchMode=When switching to a different server mode
prefLaunchModeRestart=Re&start
prefLaunchModeContinue=&Continue
prefLaunchModePrompt=P&rompt

prefLaunchMode2=When switching the server out of debug mode
prefLaunchMode2Restart=Rest&art
prefLaunchMode2Breakpoints=Disable &breakpoints
prefLaunchMode2Continue=Contin&ue
prefLaunchMode2Prompt=Pr&ompt

prefBreakpoints=When switching the server into debug mode, re-enable breakpoints
prefBreakpointsAlways=Al&ways
prefBreakpointsNever=N&ever
prefBreakpointsPrompt=Pro&mpt

prefRestart=When required, restart the server
prefRestartAlways=Alwa&ys
prefRestartNever=Ne&ver
prefRestartPrompt=Promp&t

# Project properties preferences
prefProject=Project:
prefProjectDefaultServer=Always use the &following server when running this project:
prefProjectNotModule=This project cannot be used with servers.
prefProjectNotConfigured=This project is not associated with any servers.
prefProjectNoServer=<None>

propServerInfoName=Name:
propServerInfoType=Type:
propServerInfoVendor=Vendor:

# Tooltip
toolTipEnableFocus=Press 'F6' for Focus.
toolTipDisableFocus=Press 'ESC' to Hide.

# Runtime Environments
preferenceRuntimesDescription=Add, remove, or edit server runtime environments.
preferenceRuntimesTable=Server runtime e&nvironments:


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

# General tasks
savingTask=Saving {0}.
loadingTask=Loading {0}.
performingTasks=Performing tasks.
launchingClientTask=Launching client
jobInitializing=Initializing Server Tools
jobRestarting=Restarting {0}
jobInitializingServersView=Initializing Servers view

# --------------- Dialogs ---------------

# Delete Server dialog
deleteServerDialogTitle=Delete Server
deleteServerDialogMessage=Are you sure you want to delete {0}?
deleteServerDialogMessageMany=Are you sure you want to delete the {0} servers?
deleteServerDialogLooseConfigurations=Delete unused server configuration(s)
deleteServerDialogRunningServer=Delete running server(s)
deleteServerDialogRunningServerStop=Stop server(s) before deleting
deleteServerTask=Deleting server(s)...

# Create Server Project dialog
createServerProjectDialogTitle=Create Server Project
createServerProjectDialogMessage=Do you want to create a new server project with the name {0}?

# Terminate Server dialog
terminateServerDialogTitle=Terminate Server
terminateServerDialogMessage=Server {0} is not responding. Do you want to terminate this server? Click OK to terminate the server or click Cancel to continue waiting.

# Server resource dirty dialog
resourceDirtyDialogTitle=Server Resource Dirty
resourceDirtyDialogMessage=The server resource {0} has unsaved changes. Do you want to continue?
resourceDirtyDialogContinue=Continue

# General dialogs
defaultDialogTitle=Server
dialogRemember=&Remember my decision

# restart warning dialog
dialogModeWarningRun=The server is not in run mode. Select from one of the following options:
dialogModeWarningDebug=The server is not running in debug mode. Select from one of the following options:
dialogModeWarningProfile=The server is not running in profiling mode. Select from one of the following options:
dialogModeWarningRestart=&Switch mode (will restart if necessary)
dialogModeWarningBreakpoints=Disable &breakpoints and continue
dialogModeWarningContinue=&Continue in the current mode

dialogBreakpoints=The server is running in debug mode but breakpoints have been disabled. Select from one of the following options:
dialogBreakpointsReenable=Re-&enable breakpoints
dialogBreakpointsContinue=&Continue without debugging

dialogRestart=The server may need be restarted. Do you want to restart the server?
dialogRestartRestart=Re&start server
dialogRestartContinue=&Continue without restarting

# Monitor dialog
dialogMonitorTitle=Monitoring Ports
dialogMonitorDescription=The following ports are being monitored on server {0}:
dialogMonitorAddDescription=The server {0} has the following ports that can be monitored:
dialogMonitorColumnPort=Server Port
dialogMonitorColumnType=Type
dialogMonitorColumnMonitorPort=Monitor Port
dialogMonitorColumnContentType=Content Type
dialogMonitorColumnStatus=Status
dialogMonitorMonitorPort=Monitor port:
dialogMonitorContentType=Content type:
dialogMonitorContentTypeAll=All
dialogMonitorContentTypeWeb=Web
dialogMonitorContentTypeWebServices=WebServices
dialogMonitorNone=<none>

dialogPublishClean=Clean will discard all publish state and republish from scratch. Are you sure you want to clean all published projects?

start=Start
stop=Stop
started=Started
stopped=Stopped

# Confirm runtime removal
dialogRuntimeInUse=The runtime environment is currently being used and deleting it will cause compilation or run time problems. Delete the runtime environment anyway?
dialogRuntimeDeleteServers=Delete all affected servers?
dialogRuntimeRemoveTargets=Remove this runtime environment from targeted projects?

# runtime locator search dialog
dialogRuntimeSearchTitle=Search For Runtime Environments
dialogRuntimeSearchMessage=Select the directory in which to search for server runtime environments:
dialogRuntimeSearchProgress=Searching for server runtime environments...

# Can't add remove
dialogAddRemoveModulesNone=There are no projects that can be added or removed from the server.

dialogRemoveModuleConfirm=Are you sure you want to remove the project from the server?

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

# runtime composite
runtimeTypeCompTree=Select the type of &runtime environment:
serverTypeCompLabel=Select the &server type:
serverName=Server na&me:
serverNameDefault=Rese&t default
configureRuntimes=&Configure runtime environments...
addRuntime=&Add...

# installable server composite
installableServerCompTree=Select the &server support to install:
installableServerLink=Download additional server adapters
installableServerLocal=Examining local configuration
installableServerSearching=Searching {0}

# misc composites
hostname=Server's &host name:

# Server launch configuration tab
serverLaunchDescription=This launch configuration can be used to launch the server specified below. To access further options for configuring the server, open the server's editor from the Servers view.
serverLaunchConfigurationTab=Server
serverLaunchServer=Server:
serverLaunchRuntime=Runtime Environment:
serverLaunchHost=Host name:
runOnServerLaunchConfigName={0}

# Error Messages
errorDialogTitle=Server Error
errorServerAlreadyRunning=Server already running
errorNoServerSelected=No server selected
errorInvalidServer=The server is invalid or missing
errorCouldNotCreateServerProject=Could not create server project
errorCouldNotCreateServerProjectStatus=Could not create server project: {0}
errorNoArtifact=The selection did not contain any resources that can run on a server.
errorLaunchConfig=This launch configuration is invalid and may be out of sync with the workspace
errorNoModules=The selection is not within a valid module.
errorNoServer=The selection cannot be run on any server.
errorCouldNotSavePreference=Could not save server preference information.
errorEditorCantSave=The server cannot be saved for the following reasons:
errorEditor=Could not open editor because {0} is not a valid server. Use Open With to open this file with a different editor.
errorVersionLevel=The server does not support version {1} of the {0} specification.
errorMissingConfiguration=The server configuration is missing or invalid
errorRootModule=Could not find a valid parent module to add to the server.
errorDuplicateName=The name is already in use. Specify a different name.

# Info messages
infoNoRuntimesFound=No new server runtime environments were found.

# Default server creation names
# {0} will be replaced by a number if the given name is already being used
defaultServerProjectName=Servers{0}

# Used when a name can't be found
elementUnknownName=<unknown>

columnName=Name
columnType=Type

add=&Add...
edit=&Edit...
remove=&Remove
search=&Search...

clientDefaultName=Do nothing
clientDefaultDescription=Launch the module on the server but do not bring up a client application.

# Module decorator
moduleDecoratorProject={0} ({1})

# Used for displaying time (so far only used in tooltip)
minutes={0} minutes 
modules={0} modules

# --------------- Editor support ---------------

serverEditorOverviewPageTitle=Overview
serverEditorOverviewGeneralSection=General Information
serverEditorOverviewGeneralDescription=Specify the host name and other common settings.
serverEditorOverviewServerName=Server name:
serverEditorOverviewServerNameCommand=set server name
serverEditorOverviewServerConfigurationPath=Configuration path:
serverEditorOverviewServerConfigurationBrowse=Browse...
serverEditorOverviewServerConfigurationBrowseMessage=Specify the location of the server configuration.
serverEditorOverviewServerHostname=Host name:
serverEditorOverviewServerHostnameCommand=set host name
serverEditorOverviewRuntime=Runtime Environment:
serverEditorOverviewRuntimeEdit=Edit
serverEditorOverviewRuntimeCommand=set runtime environment

serverEditorOverviewPublishSection=Publishing
serverEditorOverviewPublishDescription=Modify settings for publishing.
serverEditorOverviewAutoPublishDisable=Never publish automatically
serverEditorOverviewAutoPublishEnabled=Automatically publish when resources change
serverEditorOverviewAutoPublishEnabledInterval=Publishing interval (in seconds):
serverEditorOverviewPublishCommand=modify publish settings
serverEditorOverviewPublishers=Select enabled publishers:
serverEditorOverviewTimeoutSection=Timeouts
serverEditorOverviewTimeoutDescription=Specify the time limit to complete server operations.
serverEditorOverviewStartTimeout=Start (in seconds):
serverEditorOverviewStopTimeout=Stop (in seconds):
serverEditorOverviewTimeoutCommand=modify timeout settings
serverEditorOverviewOpenLaunchConfiguration=Open launch configuration

# Menu items. {0} will be replaced by one of the xxxEditorActionXxx fields
# from below. @Ctrl+Z is the menu mnemonic
editorUndoEnabled=Undo {0}@Ctrl+Z
editorUndoDisabled=Undo@Ctrl+Z
editorRedoEnabled=Redo {0}@Ctrl+Y
editorRedoDisabled=Redo@Ctrl+Y

editorSaveErrorDialog=Save Problems
editorSaveErrorMessage=Error while saving. {0}

editorReadOnly=Read Only
editorWritable=Writable
editorReadOnlyFiles=Read Only files: {0}

editorServerEditor=Server Editor
editorPromptIrreversible=This operation cannot be undone. Do you want to proceed?
editorRenameFiles=The server has been renamed. Do you want to rename the corresponding files to match?

# message if a dirty resource is deleted
editorResourceDeleteTitle=Server Deleted
editorResourceDeleteServerMessage=The server {0} has been deleted from the file system. Do you want to save your changes or close the editor without saving?
editorResourceDeleteSave=Save

editorResourceModifiedTitle=File Changed
editorServerModifiedMessage=The server has been changed on the file system. Do you want to load the changes?

editorValidateEditFailureMessage=The server cannot be edited.
editorReadOnlyMessage=File(s) being edited have become read-only. The editor will become read-only and changes will be lost.

editorResourceWarnTitle=Server Modification Warning
editorResourceWarnMessage=The server you are modifying is read-only. All changes will be lost because the server cannot be saved.


audioPrefSelectFile=Select Audio File
audioPrefEnable=&Enable sounds
audioPrefVolume=&Volume:
audioPrefSounds=&Sounds:
audioPrefSound=Sound
audioPrefFile=Audio File
audioPrefPlay=&Play
audioPrefBrowse=&Browse...
audioPrefReset=&Reset

audioUnknown=(unknown)
audioDefault=(default)
audioNone=(none)

errorStartingMonitor=Could not start the server monitor: {0}

internalWebBrowserName=Internal Web Browser
