###############################################################################
# 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
extension-point.name.11 = JSF Facet Configuration

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.

extension-point.name.12 = Symbol Context Resolver Factory Delegate