###############################################################################
# Copyright (c) 2004, 2011 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
wizCheckRemoteSupport=The currently selected server type does not support remote hosts
wizEmptyHostName=Server's host name must be set.

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...
wizModuleTitle=Add and Remove
wizModuleDescription=Modify the resources that are configured on the server
wizModuleMessage=Move resources to the right to configure them on the server
wizModuleAvailableList=&Available:
wizModuleDeployedList=&Configured:
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 resources on the server
actionModifyModules=&Add and Remove...
actionModifyModulesToolTip=Add and Remove resources to the server
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

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

viewStatusStopping=Stopping
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 resources?

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 resources that can be added or removed from the server.

dialogRemoveModuleConfirm=Are you sure you want to remove the resource 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
errorConfigurationNotAccessible=The server configuration is not accessible. The {0} project is closed.
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
serverEditorOverviewAutoPublishEnabledResource=Automatically publish when resources change
serverEditorOverviewAutoPublishEnabledBuild=Automatically publish after a build event
serverEditorOverviewAutoPublishEnabledInterval=Publishing interval (in seconds):
serverEditorOverviewPublishCommand=modify publish settings
serverEditorOverviewPublishers=Select publishing actions:
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
