###############################################################################
# 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_JSFConfigLabel=JSF &Configuration File:
JSFFacetInstallPage_JSFServletNameLabel=JSF &Servlet Name:
JSFFacetInstallPage_JSFServletClassNameLabel=JSF Servlet C&lassname:
JSFFacetInstallPage_JSFURLMappingLabel=&URL Mapping Patterns:
JSFFacetInstallPage_JSFLibraryLabel0=JSF 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_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_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_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...
JSFLibraryContainerWizardPage_V1Registry_Warning_DialogTitle=Backward compatibility issue
JSFLibraryWizard_JSFLibraryWizard_DontShowThisAgain_CheckBoxLabel=Do not show this message again (affects all listed projects)
JSFLibraryContainerWizardPage_V1Registry_Warning_DialogText=This project is currently configured for use with an obsolete version of JSF libraries. \
Changing JSF library settings on this project may break backward compatibility with older versions of JSF tools.\
\n\nSee http://wiki.eclipse.org/index.php/JSF_Library_Migration for more information.
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_IMPLS_ONLY_DESC=Create a library of jars that make up a JSF implementation library.
JSFLibraryWizard_CreateImplementation=Create JSF Implementation 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_IsJSFImplementation=Is JSF &Implementation
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.
JSFLibraryWizard_V1JSFLibrary_DialogMessage=The projects listed below contain JSF library references that are\
obsolete and may not be automatically updated by this change. To fix this issue, you need to update these\
these projects.\
\n\nSee http://wiki.eclipse.org/index.php/JSF_Library_Migration for more information. \n\nProjects: {0}
JSFLibraryWizard_V1JSFLibrary_DialogTitle=Backward compatibility issue

JSFLibraryConfigControl_ImplementationLibrary=Implementation Library
JSFLibraryPropertyPage_No_JSF_Facet_Installed=JSF Facet not installed.
JSFLibraryConfigControl_NewImplementationLibrary=New...
JSFLibraryConfigControl_DeployJAR=Deploy jars to WEB-INF/lib
JSFLibraryConfigControl_ComponentLibrary=Component Libraries
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