###############################################################################
# Copyright (c) 2004, 2007 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
extensionPointAudio=Audio

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

category=Server
newServer=Server
newServerDescription=Define a new server

viewServers=Servers

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

# Servers action set
actionSetTitle=Server
actionSetNewServer=Create Server

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

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

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

propertiesServer=Server
propertiesServerInfo=General
propertiesMonitor=Monitoring

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

serverEditor=Server Editor
serverEditorOverviewPage=Overview

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

extensionPointAudio=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

runOnServerLaunchConfiguration=Run on Server

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