###############################################################################
# Copyright (c) 2004, 2005 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
wizNewServerRuntime=Server &runtime:
wizNewServerRuntimeCreate=Create a new runtime

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=Set server as project &default (do not ask again)

# 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:

# Task Wizard
wizTaskWizardTitle=Select Tasks
wizTaskTitle=Select Tasks
wizTaskDescription=Select the tasks to perform on the server.
wizTaskNone=There are currently no tasks that need to be performed.

# New Runtime Wizard
wizNewRuntimeWizardTitle=New Server Runtime
wizNewRuntimeTitle=New Server Runtime
wizNewRuntimeDescription=Define a new installed server runtime environment
wizEditRuntimeWizardTitle=Edit Server Runtime

# New Installable Server Wizard
wizNewInstallableServerTitle=Install New Server
wizNewInstallableServerDescription=Download and install support for a new server
wizNewInstallableServerMessage=Support for a new server will be downloaded and installed from a remote update manager site. The workbench must be restarted for the changes to take effect.
wizNewInstallableServerConfirm=Support for {0} will now be downloaded and installed. You will be prompted to restart once the installation is complete.
wizNewInstallableServerJob=Installing support for {0}
wizNewInstallableServerRestart=Installation complete. The new server will not be available until after the workbench is restarted. Do you want to restart now?

# License wizard
wizLicenseTitle=Feature License
wizLicenseDescription=Some features have license agreements that you need to accept before proceeding with the installation.
wizLicenseAccept=I &accept the terms in the license agreement
wizLicenseDecline=I &do not accept the terms in 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

# General text used in multiple wizards
wizDescription=Description:

# 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
actionMonitor=Monitoring
actionMonitorPort=Monitor port {0} ({1})
actionMonitorProperties=Properties
actionNew=New
actionNewServer=Server

# --- Servers view ---
# Column titles
viewServer=Server
viewStatus=Status
viewSync=State

# Actions
actionStart=Start
actionStartToolTip=Start the server
actionDebug=Debug
actionDebugToolTip=Start the server in debug mode
actionProfile=Profile
actionProfileToolTip=Start the server in profiling mode
actionStop=Stop
actionStopToolTip=Stop the server
actionRestart=Restart
actionRestartToolTip=Restart the server
actionPublish=Publish
actionPublishToolTip=Publish to the server
actionModifyModules=Add and Remove Projects...
actionModifyModulesToolTip=Add and remove projects
actionRestartModule=Restart {0}
actionUpdateStatus=Initialize Server Status
actionMoveServerToMetadata=Move to Metadata
actionMoveServerToWorkspace=Move to Workspace

# 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...


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

# Names of the preference pages
preferenceRuntimesTitleLong=Installed Server Runtime Environments

# Server preferences
prefAutoPublish=Automatically p&ublish when starting servers
prefAutoPublishLocal=Automatically publish to &local servers
prefAutoPublishLocalTime=Publishing i&nterval (in seconds):
prefAutoPublishRemote=Automatically publish to rem&ote servers
prefAutoPublishRemoteTime=Publishing inter&val (in seconds):
prefAutoRestart=Automatically restart servers when necessar&y
prefPromptIrreversible=Prompt before making &irreversible changes within an editor
prefShowOnActivity=Show &Servers view when server state changes
prefMachineSpeed=Server &timeout delay:
prefMachineSpeedVerySlow=Longer
prefMachineSpeedSlow=Long
prefMachineSpeedAverage=Normal
prefMachineSpeedFast=Short
prefMachineSpeedVeryFast=Shorter
prefSyncStartup=S&ynchronize servers on workbench startup

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

prefLaunchMode=When the server is not in the correct state
prefLaunchModeRestart=Re&start
prefLaunchModeContinue=&Continue
prefLaunchModePrompt=P&rompt

prefLaunchMode2=When switching out of debug mode
prefLaunchMode2Restart=R&estart
prefLaunchMode2Breakpoints=Disable &breakpoints
prefLaunchMode2Continue=C&ontinue
prefLaunchMode2Prompt=Pro&mpt

prefBreakpoints=Re-enable breakpoints when debugging
prefBreakpointsAlways=Al&ways
prefBreakpointsNever=Ne&ver
prefBreakpointsPrompt=Promp&t

# Project properties preferences
prefProjectDescription=Set the default server used by Run on Server for this project. To change the server runtime targetted by this project go to the Project Facets page.
prefProject=Project:
prefProjectDefaultServer=De&fault server:
prefProjectNotModule=This project cannot be deployed to a server.
prefProjectNotConfigured=Not currently deployed to any servers
prefProjectNoServer=<None>

# Installed runtimes
preferenceRuntimesDescription=Add, remove, or edit installed server runtime definitions.
preferenceRuntimesTable=&Installed server runtimes:


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

# General tasks
savingTask=Saving {0}.
loadingTask=Loading {0}.
performingTasks=Performing tasks.
launchingClientTask=Launching client

# --------------- 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

runtimeTargetCombo=&Target runtime:
runtimeTargetNone=<None>
runtimeTargetNewRuntime=&New...
runtimeTargetRuntimePreferences=Configure &Installed Runtimes...
runtimeTargetChildren=Target contained projects

# General dialogs
defaultDialogTitle=Server
dialogStoppingServer=Stopping server {0}.
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=Re&start the server
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

# 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

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

# Confirm runtime removal
dialogRuntimeInUse=The runtime is currently being used and deleting it will cause compilation or runtime problems. Delete the runtime anyway?

# runtime locator search dialog
dialogRuntimeSearchTitle=Search For Runtimes
dialogRuntimeSearchMessage=Select the directory in which to search for server runtimes:
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
runtimeTypeCompDescription=Runtimes are used at build time to compile projects.
runtimeTypeCompTree=Select the type of &runtime that you want to define:
serverTypeCompLabel=Select the &server type:
name=Name
vendor=Vendor
version=Version
host=Host name
moduleSupport=Module Support
viewBy=&View By:
installedRuntimes=&Installed Runtimes...

# installable server composite
installableServerCompTree=Select the &server support to install:
installableServerLink=Don't see your server listed? Click here

# 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:
serverLaunchHost=Host name:

# Error Messages
errorDialogTitle=Server Error
errorServerAlreadyRunning=Server already running
errorNoServerSelected=No server selected
errorInvalidServer=Invalid server
errorCouldNotCreateServerProject=Could not create server project
errorCouldNotCreateServerProjectStatus=Could not create server project: {0}
errorNoModules=No launchable artifact could be found in the selection
errorNoServer=Could not find a server to run the selection
errorNoClient=Could not find a client that is able to launch the selection
errorCouldNotSavePreference=Could not save server preference information.
errorEditorCantSave=Can't save the server resource for the following reason(s):
errorEditor=Could not open editor because {0} is not a valid server or server configuration.
errorVersionLevel=The server does not support version {1} of the {0} specification.
errorMissingConfiguration=The server configuration is missing or invalid

# Info messages
infoNoRuntimesFound=No server runtimes 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...

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

serverEditorOverviewPageTitle=Server Overview
serverEditorOverviewGeneralSection=General
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:
serverEditorOverviewRuntimeEdit=Edit
serverEditorOverviewRuntimeCommand=set runtime

serverEditorOverviewAutoPublishSection=Automatic Publishing
serverEditorOverviewAutoPublishDescription=Override when the server is automatically published to.
serverEditorOverviewAutoPublishDefault=Use default publishing settings
serverEditorOverviewAutoPublishDefaultEdit=Edit
serverEditorOverviewAutoPublishOverride=Override default settings
serverEditorOverviewAutoPublishOverrideInterval=Publishing interval (in seconds):
serverEditorOverviewAutoPublishDisable=Never publish automatically
serverEditorOverviewAutoPublishCommand=modify publish settings
serverEditorOverviewOpenLaunchConfiguration=Open launch configuration
serverEditorOverviewAutoPublishInvalid=The automatic publish setting is invalid. It must be a {0} seconds or more.

# 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

preferenceInternetDescription=General internet settings are available in the contained preference pages.