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

# --------------- 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
preferenceRuntimesTitle=Installed Runtimes
preferenceServerKeywords=servers runtime environment build installed publishing deploy assembly

# 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
