###############################################################################
# Copyright (c) 2001, 2007 Oracle Corporation and others.
# 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:
#     Oracle Corporation - initial API and implementation
###############################################################################
EL_EXPR_MUST_BE_IN_HASH_BRACES_ID=EL expression must be of the form #{expression}
SYNTAX_ERROR_IN_EL_ID=Syntax error in EL
CANNOT_FIND_CLASS_NAME_ID=Cannot find fully qualified class: {0}
FULLY_QUALIFIED_NAME_MUST_BE_A_CLASS_ID=Fully qualified name must be a class: {0}
CLASS_MUST_BE_INSTANCE_OF_ID=Class {0} must {1} the type {2}
CLASS_MUST_BE_CONCRETE_ID=Class {0} must be concrete (not abstract)
API_DEPRECATED_AFTER_VERSION_ID=API {0} is deprecated after JSF {1}.  Use {2} instead.
BEAN_PROPERTY_NOT_FOUND_ID=Bean property {0} not found on parent class {1}
MUST_BE_A_VALID_JAVA_IDENT_ID={0} must be a valid Java identifier
BEAN_SCOPE_NOT_VALID_ID=Managed bean scope must be one of: request, session, application, none
MAP_ENTRIES_CAN_ONLY_BE_SET_ON_MAP_TYPE_ID=Map entries can only be set on objects of type Map. {0} is not an instance of type java.util.Map
LIST_ENTRIES_CAN_ONLY_BE_SET_ON_LIST_TYPE_ID=List entries can only be set on objects of type List. {0} is not an instance of type java.util.List
API_NOT_AVAILABLE_BEFORE_VERSION_ID=API {0} is not avaiable before JSF {1}.  Use {2} instead.
APP_CONFIG_IS_NEWER_THAN_JSF_VERSION_ID=Faces 1.2 application configuration cannot be used in projects for Faces 1.1 or before
APP_CONFIG_IS_OLDER_THAN_JSF_VERSION_ID=Faces {0} application configuration being used in Faces {1} project.  Not all Faces {1} features will be available"
LOCALE_FORMAT_NOT_VALID_ID=Locale format must be of the form lang_[_country[_variant]] like en or en_US or ja_JP_SJIS
AppConfigValidationUtil_0=extend
