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


# ============ 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 modules on a local server. \
Provides basic server functionality.

jboss42serverTypeName=JBoss v4.2
jboss42serverTypeDescription=Publishes and runs J2EE 1.4 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:
