###############################################################################
# Copyright (c) 2005, 2007 IBM 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:
#     IBM Corporation - initial API and implementation
###############################################################################
Up_1=&Up
Down_2=&Down
Select_All_3=Select &All
Deselect_All_4=D&eselect All
ERROR_READING_MANIFEST_DIALOG_TITLE=Error Reading Manifest
SAVE_MANIFEST_WITH_ERROR=The manifest file contains errors and can not be parsed.  The file will be saved but the Java build path will not be updated.  Following are common limitations which can cause problems:
ERROR_READING_MANIFEST_DIALOG_MESSAGE_EDITOR=The manifest file contains errors and can not be parsed.  Other pages cannot be used until these errors are corrected.  Following are common limitations which can cause problems:
ERROR_READING_MANIFEST_DIALOG_MESSAGE_PROP_PAGE=The manifest file contains errors and can not be parsed.  Following are common limitations which can cause problems:
MANIFEST_PROBLEM_1=* Lines in the file must be no greater than 72 bytes. Continuation of long lines is indicated by a new line and a space.
MANIFEST_PROBLEM_2=* The last line in the file must end with a new line or it will not be parsed.
MANIFEST_PROBLEM_3=* Blank lines with extra white space may cause parse to fail.
MANIFEST_PROBLEM_4=* The attributes must be formatted correctly.  Refer to the manifest and JAR file specification for more information.
An_internal_error_occurred_ERROR_=IWAE0010E An internal error occurred:
Project_name__UI_=Project name:
EAR_Project_Name__UI__UI_=Enterprise application project name:
Available_dependent_JARs__UI_=Available dependent JARs:
Manifest_Class_Path__UI_=Manifest Class-Path (does not include contributions from classpath entries):
JAR_Module_UI_=JAR/Module
Packed_In_Lib_UI_=In Lib Dir
Project_UI_=Project
EAR_Modules=EAR Modules:
EAR_Modules_Desc=This property page lets you setup the module dependencies in an Enterprise Application.
J2EE_Modules=J2EE Modules
J2EE_Modules_Desc=This property page lets you add Manifest classpath dependencies to other Java EE modules or JARs contained within the same Enterprise Application. It also supports the selection of class folders whose contents will be added to the root of this module.
Web_Libraries=Web Libraries
Web_Libraries_Desc=This property page lets you add a Web Library dependency to utility projects, JAR files or classpath entries. Archive dependencies will be resolved into the WEB-INF/lib folder of the web module at deployment time. Class folder dependencies will be resolved into the WEB-INF/classes folder.
Web_Ref_Desc=This property page lets you specify module dependencies on classpath entries. Entries that reference archives will be bundled, along with the project, into the WEB-INF/lib folder of referencing web modules. The contents of class folder entries will be added to the root of this module.
EAR_Module_Dep_Error=J2EE Modules is not valid for EAR modules.
Unreferenced_Module_Error=Selected module is not referenced by any EAR or Dynamic Web modules.
Jar_Dep_One_Module_Error=Java Jar Dependencies is valid only for one module per flexible project.
Web_Lib_Error=Web library settings are only valid for Web modules.
REDIRECT_TEXT_EDITOR_UI_=REDIRECT_TEXT_EDITOR_UI_
Error_Checking_Project_Facets=Error checking project facets.
WEB_LIB_LIST_DESCRIPTION=Select the utility project, JAR or classpath entry to add as a Web Library dependency
Dynamic_Web_Error=This property page is not valid for dynamic web projects.
No_Web_Reference_Error=Selected project must be referenced by at least one dynamic web project.

