###############################################################################
# Copyright (c) 2005 Oracle Corporation.
# 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:
#    Gerry Kessler - initial API and implementation
###############################################################################
plugin.name=JavaServer Faces Tools - Core
plugin.provider=Eclipse.org
plugin.facet.description=Enables the project to be deployed with JSF capabilities.

JSFELValidator=JSP JSF EL Validator

JSFv12Project=JavaServer Faces v1.2 Project
JSFv12PresetDesc=Configures a Dynamic Web application to use JSF v1.2
# ====================================================================

pluginName = Constraints Model
providerName = www.example.org

#=================================
jsp.tag.registry=JSP Tag Registry

plugin.facet.extension.name=JavaServer Faces

JSP_TAG_REGISTRY_DESCRIPTION = JSP tag registry
extension-point.name.0 = jsfLibraries
extension-point.name.1 = pluginProvidedJsfLibraries
extension-point.name.2 = Property Resolver Ext Point
extension-point.name.3 = Method Resolver Ext Point
extension-point.name.4 = External Context Ext Point
extension-point.name.5 = MetaDataEnabledFeatures
extension-point.name.6 = JSF View Handler Extension
extension-point.name.7 = customViewMapper
extension-point.name.8 = Variable Resolver Ext Point
extension-point.name.9 = AttributeValueRuntimeTypes
extension-point.name.10 = JSF Tag Library Registry

noOpLibraryProviderWarning = Library configuration is disabled. Further classpath changes may be required later.
noOpLibraryProviderMessage = This facet requires JSF implementation library to be present on project classpath. By disabling library configuration, user takes on responsibility of configuring classpath appropriately via alternate means.
