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

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

# 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
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=Refresh 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 every:
prefAutoPublishRemote=Automatically publish to rem&ote servers every:
prefAutoPublishSeconds=s
prefAutoRestart=Automatically &restart servers when necessary
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

prefSaveEditorsGroup=Save dirty editors before starting server
prefSaveEditorsNever=&Never
prefSaveEditorsPrompt=Pro&mpt
prefSaveEditorsAutosave=Auto-sav&e
 
# Project properties preferences
prefProjectDescription=Set the runtime target and the default server for the project.
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.\nThe checked runtime will be used by default when creating new projects.
preferenceRuntimesTable=&Installed server runtimes:


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

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

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

# Delete Server Resource dialog
deleteServerResourceDialogTitle=Delete Server Resource
deleteServerResourceDialogMessage=Are you sure you want to delete {0}?
deleteServerResourceDialogMessageMany=Are you sure you want to delete the {0} server resources?
deleteServerResourceDialogLooseConfigurations=Also delete unused server configuration {0}.
deleteServerResourceDialogLooseConfigurationsMany=Also delete {0} unused server configurations.

# 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=Include child projects

# General dialogs
defaultDialogTitle=Server
dialogStoppingServer=Stopping server {0}.

# restart warning dialog
dialogModeWarningDebug=The server is not running in debug mode. You may restart the server in debug mode, continue without debugging, or cancel the operation.
dialogModeWarningProfile=The server is not running in profiling mode. You may restart the server in profiling mode, continue without profiling, or cancel the operation.
dialogModeWarningRestart=Restart
dialogModeWarningContinue=Continue

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

# --------------- 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:
serverTypeCompDescription=Select the &server type:
name=Name
vendor=Vendor
version=Version
host=Host name
moduleSupport=Module Support
viewBy=&View By:

# 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=Did not find anything to deploy to a server
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 selected 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...

jobUpdateStatus=Updating server status...


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

serverEditorOverviewPageTitle=Server Overview
serverEditorOverviewSection=General
serverEditorOverviewDescription=Specify the host name and other common settings.
serverEditorOverviewServerName=Server name:
serverEditorOverviewServerNameCommand=set server name
serverEditorOverviewServerNameDescription=Set the server name
serverEditorOverviewServerConfigurationPath=Configuration path:
serverEditorOverviewServerConfigurationEdit=Edit configuration
serverEditorOverviewServerConfigurationEditMessage=Specify the location of the server configuration.
serverEditorOverviewServerHostname=Host name:
serverEditorOverviewServerHostnameCommand=set host name
serverEditorOverviewServerHostnameDescription=Set the host name
serverEditorOverviewRuntime=Runtime:
serverEditorOverviewRuntimeEdit=Edit runtime
serverEditorOverviewRuntimeCommand=set runtime
serverEditorOverviewRuntimeDescription=Set the runtime
serverEditorOverviewPublishing=Publishing
serverEditorOverviewAutoPublishDefault=Use default publishing settings
serverEditorOverviewAutoPublishOverride=Automatically publish every:
serverEditorOverviewAutoPublishDisable=Never publish automatically
serverEditorOverviewAutoPublishCommand=modify publish settings
serverEditorOverviewAutoPublishDescription=Modify publish settings
serverEditorOverviewOpenLaunchConfiguration=Open launch configuration
serverEditorOverviewAutoPublishInvalid=The automatic publish setting is invalid. It must be a 10 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?

# message if a dirty resource is deleted
editorResourceDeleteTitle=Server Resource 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 resource 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 resource you are modifying is read-only. All changes will be lost because the resource 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.
 