###############################################################################
# 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
#    Ian Trimble - change key names for use with org.eclipse.osgi.util.NLS
###############################################################################
JSFFacetInstallPage_title=JSF Capabilities
JSFFacetInstallPage_description=Add JSF capabilities to this Web Project
JSFFacetInstallPage_JSFImplLabel=JSF &Implementation:
JSFFacetInstallPage_Add1=A&dd...
JSFFacetInstallPage_Add2=&Add...
JSFFacetInstallPage_DeployJarsLabel=&Deploy jars to WEB-INF/lib
JSFFacetInstallPage_ConfigureServletLabel=Configure &JSF servlet in deployment descriptor
JSFFacetInstallPage_JSFConfigLabel=JSF &Configuration File:
JSFFacetInstallPage_JSFServletNameLabel=JSF &Servlet Name:
JSFFacetInstallPage_JSFServletClassNameLabel=JSF Servlet C&lass Name:
JSFFacetInstallPage_JSFURLMappingLabel=&URL Mapping Patterns:
JSFFacetInstallPage_JSFImplementationLibrariesFrame=JSF Implementation Library
JSFFacetInstallPage_JSFComponentLibrariesFrame=Component Libraries
JSFFacetInstallPage_PatternDialogTitle=Specify URL Pattern
JSFFacetInstallPage_PatternDialogDesc=URL Pattern
JSFFacetInstallPage_Remove=&Remove
JSFFacetInstallPage_PatternEmptyMsg=Pattern must not be empty
JSFFacetInstallPage_PatternSpecifiedMsg=Pattern is already specified
JSFFacetInstallPage_ErrorNoWebAppDataModel=Unable to locate WebApp datamodel

JSFLibrariesPreferencePage_DefinedJSFLibraries=Defined JSF Libraries:
JSFLibrariesPreferencePage_DEFAULT_IMPL_DESC=[implementation - default]
JSFLibrariesPreferencePage_New=New...
JSFLibrariesPreferencePage_Edit=Edit...
JSFLibrariesPreferencePage_Remove=Remove
JSFLibrariesPreferencePage_CannotRemovePluginProvidedTitle=Cannot Remove
JSFLibrariesPreferencePage_CannotRemovePluginProvidedMessage=Plugin provided libraries cannot be removed from the registry
JSFLibrariesPreferencePage_MakeDefault=Make Default
JSFLibrariesPreferencePage_MISSING_DESC=[missing]
JSFLibrariesPreferencePage_Description=JSF Libraries contain jars with JSF components and tag libraries.   Some JSF Libraries can be specially marked as implementations so that the WebApp can be executed.
JSFLibrariesPreferencePage_IMPL_DESC=[implementation]
JSFLibrariesPreferencePage_CannotModifyPluginProvidedTitle=Cannot Modify
JSFLibraryPropertyPage_No_JSF_Implementation_Lib_Selected=No JSF implementation library selected.
JSFLibrariesPreferencePage_CannotModifyPluginProvidedMessage=Plugin provided libraries cannot be edited

JSFLibraryContainerWizardPage_PageName=Add JSF Library
JSFLibraryContainerWizardPage_Title=JSF Library
JSFLibraryContainerWizardPage_Description=Select JavaServer Face Libraries to add to the classpath
JSFLibraryContainerWizardPage_WarningNoJSFFacet=JavaServer Face Libraries can only be configured for Dynamic Web projects with the JSF facet installed.
JSFLibraryContainerWizardPage_JSFLibraries=JSF Libraries:
JSFLibraryContainerWizardPage_Add=Add...
JSFLibraryWizard_JSFLibraryWizard_DontShowThisAgain_CheckBoxLabel=Do not show this message again (affects all listed projects)
JSFLibraryContainerWizardPage_EditLibrary_DescriptionText=Select JSF Library for this reference to use.  Choose 'Edit...' to modify contents of the selected library.
JSFLibraryContainerWizardPage_Edit=Edit...
JSFLibraryContainerWizardPage_ImplAlreadyPresent=An implementation has already been chosen.  Please remove before adding different one
JSFLibraryContainerWizardPage_ErrorInitializing=Error during initialization
JSFLibraryContainerWizardPage_SelectOneImpl=Choose only one implementation

JSFLibraryWizard_DESCRIPTION=Create a library of jars that make up a JSF component library.
JSFLibraryWizard_CreateJSFLibrary=Create JSF Library
JSFLibraryWizard_EditJSFLibrary=Edit JSF Library
JSFLibraryWizard_JSFLibrary=JSF Library
JSFLibraryWizard_LibraryName=Library &Name:
JSFLibraryWizard_VersionSupported=&Version Supported:
JSFLibraryWizard_LibraryJars=Library &Jars
JSFLibraryWizard_DeployJars=&Deploy Jars
JSFLibraryWizard_Add=&Add...
JSFLibraryWizard_Remove=&Remove
JSFLibraryWizard_ExtJarFileDialogTitle=Browse for Jars/Zips
JSFLibraryWizard_ValidateNoJars=The library must contain at least one jar.
JSFLibraryWizard_ValidateNoLibraryName=A library name must be supplied.
JSFLibraryWizard_ValidateExistingLibraryName=A library or implementation by this name already exists.
JSFLibraryConfigControl_ImplementationLibrary=Implementation Library
JSFLibraryPropertyPage_No_JSF_Facet_Installed=JSF Facet not installed.
JSFLibraryConfigControl_DeployJAR=Deploy jars to WEB-INF/lib
JSFLibraryConfigControl_Add=\ \ >  
JSFLibraryConfigControl_Remove=\ \ <  
JSFLibraryConfigControl_AddAll=\ \ >>  
JSFLibraryConfigControl_RemoveAll=\ \ <<  
JSFLibraryConfigControl_NewComponentLibrary=New...
JSFLibraryConfigControl_TH_Deploy=Deploy
JSFLibraryConfigControl_NullProject=No project specified.
JSFLibraryConfigControl_TH_LibraryName=Library Name

JSFValidationPreferencePage_ELPrefPanel_Title=Expression Language (EL) Validation
JSFValidationPreferencePage_ELPrefPanel_BuildValidationCheckBoxTitle=Validate EL on &Build/Run Validation
JSFValidationPreferencePage_ELPrefPanel_IncrementalValidationCheckBoxTitle= Validate EL as &you type (may be slow on some pages)

JSFLibraryEditControl_ImplVersion_UNKNOWN=UNKNOWN

JSFPreferences_RootPage_Description=Expand the tree to edit preferences for a specific feature.

Hyperlink_Open_JavaType=Open {0}
Hyperlink_Open_JavaMethod=Open {1}(...) method in {0}
Hyperlink_Open_JavaFile=Open Java file
Hyperlink_Open_JavaElement=Open unknown Java element