##################################################################################################
# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. 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: Gorkem Ercan - initial API and implementation
#               
###################################################################################################
pluginName= JBoss Generic server definitions 
providerName=Eclipse.org
pluginDescription=Provides JBoss server definitions 


# ============ jboss323 ====================
jbossCategory=JBoss
jboss323runtimeTypeName=JBoss v3.2.3
jboss323runtimeTypeDescription=Publishes and runs J2EE 1.3 modules on a local server. \
Provides basic server functionality.

jboss323serverTypeName=JBoss v3.2.3
jboss323serverTypeDescription=Publishes and runs J2EE 1.3 modules on a local server. \
Provides basic server functionality.

jboss4runtimeTypeName=JBoss v4.0
jboss4runtimeTypeDescription=Publishes and runs J2EE 1.4 modules on a local server. \
Provides basic server functionality.

jboss4serverTypeName=JBoss v4.0
jboss4serverTypeDescription=Publishes and runs J2EE 1.4 modules on a local server. \
Provides basic server functionality.

jboss42runtimeTypeName=JBoss v4.2
jboss42runtimeTypeDescription=Publishes and runs J2EE 1.4 and 5.0 modules on a local server. \
Provides basic server functionality.

jboss42serverTypeName=JBoss v4.2
jboss42serverTypeDescription=Publishes and runs J2EE 1.4 and 5.0 modules on a local server. \
Provides basic server functionality.

jboss5runtimeTypeName=JBoss v5.0
jboss5runtimeTypeDescription=Publishes and runs J2EE 5 modules on a local server. \
Provides basic server functionality.

jboss5serverTypeName=JBoss v5.0
jboss5serverTypeDescription=Publishes and runs JEE 5 modules on a local server. \
Provides basic server functionality.

# ============== serverdef translations ================
ApplicationServerDirectory=Application &Server Directory:
serverAddress=A&ddress:
serverPort=&Port:
jndiPort=&JNDI Port:
jboss323serverConfig=Server Co&nfiguration:
serverclassPath=&Classpath Variable:
serverName=Ser&ver Name:
username=Use&r Name:
password=Pass&word:
