###############################################################################
# Copyright (c) 2003, 2006 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
###############################################################################
1=Project location:
2=Target runtime:
3=J2EE version:
4=Failed to find the image "{0}".
5=New Enterprise Application Project
6=Enterprise Application Project
7=Create an Enterprise Application project containing one or more module projects.
8=EAR Module Projects
9=Select the module projects to add to the new EAR project from the list. \nSelect New Module button to create a new module project.
10=&Select All
11=&Deselect All
12=New &Module...
13=EAR project:
14=N&ew...
14a=Ne&w...
15=Add module to an EAR application.
16=New Module Project
17=Create a new module project for the selected module type
18=New Module Project
19=Create default module projects.
20=Application Client project:
21=EJB project:
22=Web project:
23=Connector project:
24=New Application Client Project
25=Application Client module
26=Create an Application Client project and add it to a new or existing Enterprise Application project
27=Module Dependencies
28=Select dependent JARs for the module within the Enterprise Application project.
29=Available dependent JARs:
30=Manifest Class-Path:
31=JAR/Module
32=Project:
33=New
34=Import an Application Client project from the file System
35=Application Client Import
36=Application Client file:
37=Application Client project:
38=Import
39=Import an Enterprise Application project based on selected resources.
40=Enterprise Application Import
41=EAR file:
42=Overwrite existing resources without warning.
43=Project import
44=Optimized: make binary projects for EJB, client, and utility JARs
45=Expanded: extract project contents for development
46=Import for partial EAR development
47=Select All
48=Deselect All
49=Utility JARs and web libraries
50=Select the utility JARs from the list to be imported as utility projects. Unselected JARs will be imported as \nutility JARs in the EAR.
51=Enter the new project name that will be created for the imported module file by selecting the second column of the table for edit.
52=EAR Module and Utility JAR Projects
53=Project locations
54=This is the parent directory for all referenced projects. A subdirectory will be created for each project.
55=Module Root Location:

57=Select the location directory
58=Modules in EAR
59=New Project Name
60=filenames
61=projectnames
62=Destination:
63=Overwrite existing file
64=Export source files
65=Application Client Export
66=Export Application Client project to the local file system.
67=Export
68=EAR Export
69=Export Enterprise Application project to the local file system.
70=Include project build paths and meta-data files
71=If you select this option, the exported EAR maintains project names and external classpath dependencies, which are useful for later importing the EAR into binary projects. If you select this option and later import the EAR, only binary projects are created.
72=Include
74=Allow nested projects overwrites (module and utility projects)
75=Delete project on overwrite
76=EAR project:

#migration strings
77=Error
78=An internal error occurred performing the selected action.
79=Binary Project
80=The action cannot be performed on the selection, which is part of a binary project.
81=Information
82=The chosen operation is not currently available.

90=Create an EJB Client JAR module to hold the client interfaces and classes.
91=Generate an annotated bean class
92=Add support for annotated Java classes
93=B&rowse...
94=Na&me:
95=Create a default Main class
96=Create a default stateless session bean
98=Generate a XDoclet annotated class

97=Select the utility JARs from the list to be imported as utility projects or jars.
99=Project Name:
100=Module Version:
101=Configure Application Client module settings.
102=Content Folder:
103=Target runtime
Entity_UI_=Entity Beans(1.x-2.x)
Message_Driven_Beans_UI_=Message-Driven Beans
Session_Beans_UI_=Session Beans
EJB_Class_UI_=EJB Class: {0}
Home_Interface_UI_=Home Interface: {0}
Service_Endpoint_Interface_UI_=Service Endpoint Interface: {0}
Primary_Key_Class_UI_=Primary Key Class: {0}
RefactoringNoInit=Refactoring not initialized properly
Remote_Interface_UI_=Remote Interface: {0}
Local_Interface_UI_=Local Interface: {0}
Local_Home_Interface_UI_=Local Home Interface: {0}
Delete_UI_=Delete...
Project_should_not_be_null_1_EXC_=IWAE0021E Project should not be null
Non-project_in_selection_2_EXC_=IWAE0022E Non-project in selection
Problems_Opening_Editor_ERROR_=IWAE0052E Problems Opening Editor.
Utility_JARs_UI_=Utility JARs
Delete_1=Delete...
Delete_selected_project(s)_2=Delete selected project(s)
Remove_module(s)_from_all_Enterprise_Applications_3=Remove module(s) from all Enterprise Applications
Remove_module(s)_from_all_other_Enterprise_Applications_4=Remove module(s) from all other Enterprise Applications
Remove_module_dependencies_referencing_selected_project(s)_5=Remove module dependencies referencing selected project(s)
Delete_Module_Options_6=Delete Module Options
Delete_Enterprise_Application_Options_7=Delete Enterprise Application Options
Delete_could_not_be_completed_8=Delete could not be completed
Delete_error_9=Delete error
What_would_you_like_to_delete__10=What would you like to delete?
Delete_selected_Enterprise_Application_project(s)_only_11=Delete selected Enterprise Application project(s) only
Also_delete_module_and_utility_Java_projects_12=Also delete module and utility Java projects
Delete_selected_project(s)_only_13=Delete selected project(s) only
Also_delete_references_to_selected_project(s)_14=Also delete references to selected project(s)
CUSTOM_DELETE_MIX_MATCH_UI_=The custom Java EE delete options are not available for the selected Java EE projects.  The standard delete options will be used.
DEPLOY_DIALOG_TITLE=J2EE Deployment
DEPLOY_ERROR_TEXT=IWAE0001E Error:
DEPLOY_WARNING_TEXT=Warning:
DEPLOY_INFO_TEXT=IWAE0002I Info:
DEPLOY_OK_TEXT=Ok:
DEPLOYMENT_IN_PROGRESS=Deployment operation in progress...
DEPLOY_SUCCESS_REPORT=Deployment finished successfully.
DEPLOY_WARNINGS_REPORT=Deployment finished with warnings; see log files for details.
DEPLOY_ERRORS_REPORT=Deployment finished with errors; see log files for details.
DEPLOY_PROJECT_NOT_FOUND=Cannot get handle to the project.
DEPLOY_RUNTIME_NOT_FOUND=Target runtime not configured for project {0}.
DEPLOY_RUNTIME_CONFIGURED=Target runtime configured successfully for project {0}.
DEPLOY_PROJECT_NOT_SUPPORTED=Project {0} cannot be deployed on the configured target runtime.

NewModuleSelectionPage.appClient=Application Client
NewModuleSelectionPage.ejb=Enterprise Java Bean
NewModuleSelectionPage.web=Web
NewModuleSelectionPage.jca=Connector

NewApplClientModuleAction_UI_0=Application Client Module
NewContextRoot=New context root:
NewEARModuleAction_UI_0=EAR Module
J2EEProjectCreationPage_UI_0=Hide &Advanced <<
J2EEProjectCreationPage_UI_1=Show &Advanced >>
J2EEUtilityJarImportPage_UI_0=Utility Jar Import
J2EEUtilityJarImportPage_UI_1=Import dependent Utility Jars for Java EE Enterprise Applications
J2EEUtilityJarImportPage_UI_2=Available Utility Jars Directory
J2EEUtilityJarImportPage_UI_3=External Jar Directory:
J2EEUtilityJarImportPage_UI_4=Linked Path Variable
J2EEUtilityJarImportPage_UI_5=Make these imported files team-shareable by creating or re-using a Linked Path Variable (LPV). Select an existing LPV or type a new name to create one to the directory above. Other teammates should define this value through Window > Preferences | Workbench > Linked Resources. This option is only available for linked imports.
J2EEUtilityJarImportPage_UI_6=Overwrite Existing Resources (projects and archives)
J2EEUtilityJarImportPage_UI_7=Select Utility Jar:
J2EEUtilityJarImportPage.0=Use Existing Linked Path Variable
J2EEUtilityJarImportPage.1=Linked Path Variable: 
EARImportProjectsPage_UI_0=include
EARImportProjectsPage_UI_1=file
EARImportProjectsPage_UI_2=project
EARImportProjectsPage_UI_3=Select New

J2EEUtilityJarImportTypePage_UI_0=Utility Jar Import
J2EEUtilityJarImportTypePage_UI_1=Import dependent Utility Jars for Java EE Enterprise Applications
J2EEUtilityJarImportTypePage_UI_2=Select import type
J2EEUtilityJarImportTypePage_UI_3=Create Java Projects from Utility Jars
J2EEUtilityJarImportTypePage_UI_4=Create linked Java Projects from Utility Jars
J2EEUtilityJarImportTypePage_UI_5=Copy Utility Jars into an existing EAR from an external location
J2EEUtilityJarImportTypePage_UI_6=Create Linked Utility Jars in an existing EAR from an external location
J2EEUtilityJarImportTypePage_UI_7=Project import options
J2EEUtilityJarImportTypePage_UI_8=Select EAR Project
J2EEUtilityJarImportTypePage_UI_9=EAR Project:
J2EEUtilityJarImportTypePage_UI_10=Create Binary Projects
J2EEUtilityJarImportTypePage_UI_11=Override Project Root (Specify location below)

Deployment_Descriptor_UI_=Deployment Descriptor

Rename_1=Rename
RenameDotDotDot=Rename...
Rename_selected_project_2=Rename selected project
Rename_module_in_all_Enterprise_Applications_3=Rename module in all Enterprise Applications
Rename_module_in_all_other_Enterprise_Applications_4=Rename module in all other Enterprise Applications
Rename_module_dependencies_referencing_selected_project_5=Rename module dependencies referencing selected project
Rename_Module_Options_6=Rename Module Options
Rename_Enterprise_Application_Options_7=Rename Enterprise Application Options
Rename_could_not_be_completed_8=Rename could not be completed
Rename_error_9=Rename error
What_would_you_like_to_rename_this_to__10=What would you like to rename this to?
Context_Root__11=Context root:
Rename_selected_Enterprise_Application_project_only_12=Rename selected Enterprise Application project only
RenameContextRoot=Rename Context Root
RenameContextRootFromXtoY=Rename context root from "{0}" to "{1}"
Also_rename_module_and_utility_Java_projects_13=Also rename module and utility Java projects
Project_already_exists.=Project {0} already exists.
Project_should_not_be_null_1_EXC_=IWAE0021E Project should not be null
Non-project_in_selection_2_ERROR_=IWAE0024E Non-project in selection


ERROR_OCCURRED_TITLE=Error
ERROR_OCCURRED_MESSAGE=An internal error occurred performing the selected action.

Import_Class_Files_UI=Import
FileImport.selectSource=Select a directory to import from.
Import_Classes=Import Class Files...
ClassesImport.fromDir=Import from Directory
ClassesImport.fromZip=Import from Zip or Jar
DataTransfer.browse=Browse...
DataTransfer.directory=Source:
DataTransfer.fileSystemTitle=Import Class Files
FileImport.importFileSystem=Import class files from the local file system.
FileImport.sourceEmpty=Source must not be empty.
FileImport.overwriteExisting=Overwrite existing resources without warning
DataTransfer.selectAll=Select All
DataTransfer.deselectAll=Deselect All
Import_Class_Files_UI=Import
FileImport.selectSource=Select a directory to import from.
Inconsistent_Files_3=Inconsistent Files
The_following_workspace_files_are_inconsistent_with_the_editor_4=The following workspace files are inconsistent with the editor: \n
Update_the_editor_with_the_workspace_contents__5=Update the editor with the workspace contents?
Error_checking_out_files_10=Error checking out files
Inconsistent_files_detected_11=Inconsistent files detected
Modules_UI_=Modules
Utility_Java_Projects_UI_=Project Utility JARs
The_following_files_are_inconsistent_with_the_file_system._Do_you_want_to_save_and_overwrite_these_files_on_the_file_system__12_WARN_=IWAE0020W The following files are inconsistent with the file system.\nDo you want to save and overwrite these files on the file system?
J2EE_Level=J2EE Level:
J2EE_12=1.2
J2EE_13=1.3
J2EE_14=1.4
J2EE_12_DESCRIPTION=J2EE 1.2 includes Servlet Specification level 2.2, JSP Specification level 1.1, and EJB Specification level 1.1.
J2EE_13_DESCRIPTION=J2EE 1.3 includes Connector Architecture Specification level 1.0, Servlet Specification level 2.3, JSP Specification level 1.2, and EJB Specification level 2.0.
J2EE_14_DESCRIPTION=J2EE 1.4 includes Connector Architecture Specification level 1.5, Servlet Specification level 2.4, JSP Specification level 1.3, and EJB Specification level 2.1.
EJB_LEVEL=EJB Level:
EJB_11=1.1
EJB_20=2.0
EJB_21=2.1
EJB_11_DESCRIPTION=EJB 1.1 includes Session Beans, BMP Beans and CMP 1.1 Beans.  EJB 1.1 modules may be included in either Java EE 1.2 or Java EE 1.3 Enterprise Applications.
EJB_20_DESCRIPTION=EJB 2.0 includes Message-Driven Beans, BMP Beans, and CMP 1.1 and CMP 2.0 Beans.  EJB 2.0 modules may only be included in Java EE 1.3 Enterprise Applications.
EJB_21_DESCRIPTION=EJB 2.1 includes Message-Driven Beans, BMP Beans, and CMP 1.1 and CMP 2.0 Beans.  EJB 2.1 modules may only be included in Java EE 1.4 Enterprise Applications.
WEB_LEVEL=Web Level:
WEB_22=2.2
WEB_23=2.3
WEB_24=2.4
WEB_22_DESCRIPTION=Web 2.2 includes Servlet specification 2.2 and JSP specification 1.1.
WEB_23_DESCRIPTION=Web 2.3 includes Servlet specification 2.3 and JSP specification 1.2.
WEB_24_DESCRIPTION=Web 2.4 includes Servlet specification 2.4 and JSP specification 2.0.
APP_CLIENT_LEVEL=Application Client Level:
APP_CLIENT_12_DESCRIPTION=Application 1.2 includes the Applciation client specification level 1.2.
APP_CLIENT_13_DESCRIPTION=Application 1.3 includes the Applciation client specification level 1.3.
APP_CLIENT_14_DESCRIPTION=Application 1.4 includes the Applciation client specification level 1.4.
CONNECTOR_LEVEL=Connector Architecture Level:
CONNECTOR_10=1.0
CONNECTOR_15=1.5
CONNECTOR_10_DESCRIPTION=Connector Architecture 1.0 modules may only be included in Java EE 1.3 Enterprise Applications.
CONNECTOR_15_DESCRIPTION=Connector Architecture 1.5 modules may only be included in Java EE 1.4 Enterprise Applications.
DESCRIPTION=Description:
WEB_CONTEXT_ROOT=Context root:
WEB_CONTENT_FOLDER_NAME=Web content folder name:
FileImport.invalidSource = Source directory is not valid or has not been specified.
FileImport.importProblems = Import Problems
DataTransfer.information = Information
FileImport.noneSelected = There are no resources currently selected for import.
File_Selection_UI_=File Selection
Select_a_file__UI_=Select a file:
Flexible_Structure=Use flexible project structure
FlexibleProjectCreationWizard.mainPage.title=J2EE Project
FlexibleProjectCreationWizard.mainPage.desc=Create a Java EE project.
FlexibleProjectCreationWizard.title=J2EE Project
EARComponentCreationWizard.title=New EAR Application Project
EARComponentCreationWizard.mainPage.title=EAR Application Project
EARComponentCreationWizard.mainPage.desc=Create a EAR application.
EARComponentCreationWizard.secondPage.title=Enterprise Application
EARComponentCreationWizard.secondPage.desc=Configure enterprise application settings.
J2EEModuleDependencies.label=Java EE module dependencies:
AppClientComponentCreationWizard.title=New Application Client Project
AppClientComponentCreationWizard.mainPage.title=Application Client Project
AppClientComponentCreationWizard.mainPage.desc=Create a Application Client.
DefaultJ2EEComponentCreationWizard.title=Create default Java EE modules.
DefaultJ2EEComponentCreationWizard.page.title=New Java EE Module
DefaultJ2EEComponentCreationWizard.page.desc=Create a new Java EE module for the selected module type
DefaultJ2EEComponentCreationWizard.page.label.ejb=EJB module
DefaultJ2EEComponentCreationWizard.page.label.web=Web module
DefaultJ2EEComponentCreationWizard.page.label.jca=Connector module
DefaultJ2EEComponentCreationWizard.page.label.appclient=Application client module
DefaultJ2EEComponentCreationWizard.page.button.select=Create default modules

FOLDER_LABEL=Source folder:
BROWSE_BUTTON_LABEL=Browse...
JAVA_PACKAGE_LABEL=Java package:
CLASS_NAME_LABEL=Class name:
SUPERCLASS_LABEL=Superclass:
CONTAINER_SELECTION_DIALOG_TITLE=Container Selection
CONTAINER_SELECTION_DIALOG_DESC=Choose a Container:
CONTAINER_SELECTION_DIALOG_VALIDATOR_MESG=Choose a valid java source folder for the selected module.
PACKAGE_SELECTION_DIALOG_TITLE=Package Selection
PACKAGE_SELECTION_DIALOG_DESC=Choose a package:
PACKAGE_SELECTION_DIALOG_MSG_NONE=No packages to choose from
SUPERCLASS_SELECTION_DIALOG_TITLE=Superclass Selection
SUPERCLASS_SELECTION_DIALOG_DESC=Choose a superclass:
JAVA_CLASS_MODIFIERS_LABEL=Modifiers:
JAVA_CLASS_PUBLIC_CHECKBOX_LABEL=Public
JAVA_CLASS_ABSTRACT_CHECKBOX_LABEL=Abstract
JAVA_CLASS_FINAL_CHECKBOX_LABEL=Final
JAVA_CLASS_INTERFACES_LABEL=Interfaces:
JAVA_CLASS_METHOD_STUBS_LABEL=Which method stubs would you like to create?
JAVA_CLASS_MAIN_CHECKBOX_LABEL=public static void main(String[] args)
JAVA_CLASS_CONSTRUCTOR_CHECKBOX_LABEL=Constructors from superclass
JAVA_CLASS_INHERIT_CHECKBOX_LABEL=Inherited abstract methods
ADD_BUTTON_LABEL=Add...
REMOVE_BUTTON=Remove
YES_BUTTON=Yes
NO_BUTTON=No
OK_BUTTON=OK
CANCEL_BUTTON=Cancel
BINARY=Binary
INTERFACE_SELECTION_DIALOG_TITLE=Interface Selection
JAVAUTILITY_MAIN_PG_TITLE=Java Component
JAVAUTILITY_MAIN_PG_DESC=Create a Java Component
JAVAUTIL_COMPONENT_WIZ_TITLE=New Java Utility Module
AVAILABLE_J2EE_COMPONENTS= Available Java EE modules
EXTERNAL_JAR=Add External JARs...
PROJECT_JAR=Add JARs...
ADDVARIABLE=Add Variable...
CHANGE_LIB_DIR=Change &Library Directory...
NO_DD_MSG_TITLE=No Deployment Descriptor
GEN_DD_QUESTION=Changing the library directory must be reflected in the deployment descriptor. This EAR has no deployment descriptor yet and one will be generated now. Do you want to proceed?
CHANGE_LIB_DIR_HEAD=Change Library Directory
NEW_LIB_DIR_PROPMPT=New library directory location:
BLANK_LIB_DIR=Blank Library Directory
BLANK_LIB_DIR_CONFIRM=You've entered a blank library directory. In result, all the libraries will be packed in the root directory. In order to be able to pack any libraries in the library directory you must enter a non-blank library directory. Do you really want the library directory to be blank?
BLANK_LIB_DIR_WARN_QUESTION=The specified library directory is blank. In result, all the libraries will be packed in the root directory. Are you sure you want this? (If you want to leave the bundled libraries directory blank, click 'Yes'. If you want to change it, click 'No')
INVALID_PATH=Invalid Path
INVALID_PATH_MSG=The entered path is invalid for a library directory. Please enter a valid path, different from root!
DEPENDENCY_CONFLICT_TITLE=Dependencies Conflict
DEPENDENCY_CONFLICT_MSG_1=This JAR is a bundled library of an EAR project and is supposed to be packed in the EAR's library directory. It conflicts with the manifest class path dependency you are trying to create. If you create this dependency, the JAR will be packed in the root (not library) directory of the EAR. Are you sure you want to proceed?
DEPENDENCY_CONFLICT_MSG_2=This JAR is also a manifest class path dependency of a module in this EAR. It conflicts with packing the JAR in the library directory. If you want this JAR packed in the library directory, then it will be removed as a manifest class path dependency from all modules in this EAR. Are you sure you want to proceed?  
DO_NOT_SHOW_WARNING_AGAIN=Do not show this warning again 
SUPPORTMULTIPLEMODULES=Support Multiple Modules per project
SOURCEFOLDER=Source Folder:
HOVER_HELP_FOR_DISABLED_LIBS=This library has been added to the project by using the project tree or\nthe file system. If you want to move/remove it, use the same approach.
