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

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

# Project properties preferences
propertiesServer=Server

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

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

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