###############################################################################
# Copyright (c) 2004, 2016 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 UI
providerName=Eclipse.org

extensionPointEditorPages=Editor Pages
extensionPointEditorPageSections=Editor Page Sections
extensionPointEditorActions=Editor Actions
extensionPointServerImages=Server Images
extensionPointWizardFragments=Wizard Fragments
extensionPointInitialSelectionProvider=Initial Selection Provider
extensionPointServerLabelProvider=Server Label Provider
extensionPointAudio=Audio
extensionPointServerCreationWizardPageExtension=Server Creation Wizard Page Extension
extensionPointServerEditorOverviewPageExtension=Server Editor Overview Page Modifier
extensionPointRemoveModuleMessageExtension=Remove Module Message Customization Extension

# --------------- Wizards and Views ---------------

category=Server
context=In Servers View
newServer=Server
newServerDescription=Define a new server

viewServers=Servers
viewServers_old=Servers (deprecated)
defaultProvider=Server and Module Provider

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

# Servers action set
actionSetTitle=Server
actionSetNewServer=Create Server

# Run on Server actions
actionRunOnServer=Run on Server
actionRunOnServerDescription=Run the current selection on a server
actionDebugOnServer=Debug on Server
actionDebugOnServerDescription=Debug the current selection on a server
actionPublish=Publish
actionPublishDescription=Publish to server
actionRun=Run
actionRunDescription=Run server
actionDebug=Debug
actionDebugDescription=Debug server
actionProfileOnServer=Profile on Server
actionStop=Stop
actionStopDescription=Stop the server

# --------------- Preferences and Property pages ---------------

preferenceServersTitle=Server
preferenceLaunchingTitle=Launching
preferenceRuntimesTitle=Runtime Environments
preferenceServerKeywords=servers runtime environment build installed publishing deploy assembly launching running debugging profiling

propertiesServer=Server
propertiesServerInfo=General
propertiesMonitor=Monitoring

runOnServerLaunchConfiguration=Run on Server
launchConfigurationDelegateName=Run on Server
launchConfigurationDelegateDescription=Runs applications on the server

# --------------- Editor ---------------

serverEditor=Server Editor
serverEditorOverviewPage=Overview

# --------------- Audio ---------------

audioPreferenceTitle=Audio
preferenceAudioKeywords=sound volume

launchableWebBrowser=Web browser
launchableWebBrowserDescription=Open the Resource in a Web Browser

audioCategoryServer=Server
audioServerStarted=Server Started
audioServerStopped=Server Stopped

audioCategoryPublish=Publishing
audioPublishFinished=Publish Finished

# --------------- Other ---------------

monitorLabel=TCP/IP monitor
monitorDescription=Uses the internal TCP/IP monitor to monitor server requests.

moduleProjectDecoratorLabel=Module Project
moduleProjectDecoratorDescription=Decorates server modules with information on the project that they come from
serverStateDecoratorLabel=Server State Decorator

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

# Web Browser action set
actionSetWebBrowserTitle=Web Browser
actionSetOpenWebBrowser=Open Web Browser
actionSetSwitchBrowser=Web Browser

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

# Name of the preference pages
preferenceInternetTitle=Internet
