###############################################################################
# Copyright (c) 2003, 2004 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
###############################################################################
Creating__UI_=Creating:
Error_creating_an_EAR_proj_UI_=Error creating an Enterprise Application project.
JdkJarFileDoesNotExist_UI=The file {0} does not exist.
APP_PROJECT_ERROR_EXC_=IWAE0001E An error occurred accessing the Enterprise Application project.
UNKNOWN_UI_=??
Creating_Java_Project_UI_=Creating Java Project
Errors_occurred_deleting_module_dependencies_UI_=Errors occurred deleting module dependencies.
Can_not_remove_module_dependency_from_project_UI_=Can not remove module dependency from project {0} because the project is binary.
Errors_occurred_renaming_module_dependencies_UI_=Errors occurred renaming module dependencies.
Can_not_rename_module_dependency_from_project_UI_=Can not rename module dependency from project {0} because the project is binary.

J2EE_PROJECT_MIGRATION_TITLE_UI_=J2EE Project Migration
ENTERPRISE_APPLICATIONS_UI_=Enterprise Applications
WIZ_BAN_DESC_UI_=Select the {0} projects to be migrated.  If needed, the project structures will be migrated.
ENTERPRISE_APP_PROJECTS_UI_=Enterprise application projects:
MIGRATE_J2EE_SPEC_UI_=Migrate project from version level J2EE 1.2 to J2EE 1.3
MIGRATE_EJB_SPEC_UI_=Migrate project from version level EJB 1.1 to EJB 2.0
MIGRATE_MODULE_PROJECTS_UI_=Migrate module projects
APPLICATION_CLIENTS_UI_=Application Clients
APPLICATION_CLIENT_PROJECTS_UI_=Application client projects:
ENTERPRISE_BEANS_BAN_UI_=Enterprise Beans
EJB_PROJECTS_UI_=EJB projects:
ADD_LOCAL_CLIENT_VIEWS_CHECK_UI_=Add local client views
MIGRATE_CMP_BEANS_UI_=Migrate CMP 1.1 beans to CMP 2.0 beans
ADD_LOCAL_CLIENT_VIEWS_BAN_UI_=Add Local Client Views
SELECT_EJB_CLIENT_VIEWS_UI_=Select the enterprise beans that will have local client views added.
ENTERPRISE_BEANS_LIST_UI_=Enterprise beans:
DELETE_REM_CLIENT_VIEWS_UI_=Delete remote client views
LOCAL_CLIENT_VIEW_SCHEME_UI_=Local client view naming scheme:
REUSE_DELETED_CLIENT_VIEW_NAME_UI_=Reuse the deleted remote client view name
SPECIFY_SUFFIX_UI_=Specify suffix:
SUFFIX_EXAMPLE_UI_=(For example, enterprise bean \'foo\' will have local client views named: \'fooLocal\' and \'fooLocalHome\'.)
MIGRATION_SUCCESS_REPORT_UI_=Migration finished successfully.
MIGRATION_WARNINGS_REPORT_UI_=Migration finished with warnings; see log files for details.
MIGRATION_ERRORS_REPORT_UI_=Migration finished with errors; see log files for details.
PROJECT_STRUCTURE_SUCCESS_UI_=Project structure migration successful: {0}.
PROJECT_STRUCTURE_FAILED_UI_=Project structure migration failed: {0}.
PROJECT_NOT_NEED_MIGRATION_UI_=Project structure did not need migration: {0}.
J2EE_VERSION_SUCCESS_UI_=J2EE version level migration successful: {0}.
J2EE_VERSION_FAILED_UI_=J2EE version level migration failed: {0}.
J2EE_VERSION_NOT_NEED_MIGRATION_UI_=J2EE version level did not need migration: {0}.
LOCAL_CLIENT_ADD_SUCCESS_UI_=Local client views added successfully: {0}.
LOCAL_CLIENT_ADD_FAILED_UI_=Local client views failed on add: {0}.
LOCAL_CLIENT_VIEWS_EXIST_UI_=Local client views already exist: {0}.
REMOTE_CLIENT_DELETE_SUCCESS_UI_=Remote client views deleted successfully: {0}.
REMOTE_CLIENT_DELETE_FAILED_UI_=Remote client views failed on delete: {0}.
REMOTE_CLIENT_VIEWS_NOT_EXIST_UI_=Remote client views did not exist: {0}.
JAR_11_IMPORT_20_UI_=The 1.1 JAR is being imported into an EJB 2.0 module.  The deployment descriptor will be converted, but the CMP beans remain version 1.1.
CMP_11_IMPORT_20_UI_=The following CMP 1.1 beans are being imported into an EJB 2.0 module. The deployment descriptor will be converted, but the CMP beans remain version 1.1.
OLD_PROJECT_STRUCTURE_UI_=The J2EE project {0} has an old project structure, and should be migrated.
PROJECT_MUST_BE_SELECTED_UI_=A {0} project must be selected.
ENTERPRISE_APPLICATION_UI_=enterprise application
APPLICATION_CLIENT_UI_=application client
EJB_UI_=EJB
WEB_UI_=WEB
EJB_MUST_BE_SELECTED_UI_=An enterprise bean must be selected.
MIGRATE_UI_=Migrate...
MIGRATE_J2EE_PROJECTS_UI_=Migrate J2EE Projects...
OPEN_J2EE_MIGRATION_WIZARD_UI_=Open J2EE Migration Wizard...
MIGRATING_PROJECT_STRUCTURES_UI_=Migrating project structure...
MIGRATING_J2EE_VERSION_UI_=Migrating project J2EE version level...
ADDING_LOCAL_CLIENT_VIEWS_UI_=Adding local client views...
DELETING_REMOTE_CLIENT_VIEWS_UI_=Deleting remote client views...
MIGRATION_NOT_NEEDED_REPORT=Migration was not needed for the selected items.
MIGRATION_NOT_POSSIBLE_REPORT=Migration was not possible for the selected items.
SOURCE_FOLDER_RENAME_FAILED=Unable to rename the Java source folder {0}.
SOURCE_FOLDER_RENAME_SKIPPED=The Java source folders are not renamed when there is more than one source folder.
WEBCONTENT_FOLDER_RENAME_FAILED=Unable to rename the web content folder {0}.
WEBCONTENT_FOLDER_RENAME_SKIPPED=The web content folder {0} not renamed.
WEBPROJECT_VERSION_MIGRATE_FAILED=Unable to migrate the web project version.
ABS_PATHS_APP_EXT_REMOVED=Absolute paths were removed from the application extensions file in enterprise application project {0}.
PROJECT_REFERENCES_UPDATED=Project references were updated in enterprise application project {0}.
PROJECT_CLASSPATH_UPDATED=Project Java build path was updated for project {0}.
FAILED_MIGRATING_IMPORTED_CLASSES=Unable to migrate the imported_classes JAR file.  Exception: {0}
EXTRACTED_IMPORTED_CLASSES=Imported classes were extracted from file {0}.
IMPORTED_CLASSES_FILE_DELETED=Imported classes file {0} was deleted.
BACKEND_MIGRATION_FAILED=Unable to migrate the Map and Schema file structure in project {0}
BINARY_MIGRATION_FAILED=Unable to migrate binary project {0}.
COMPLETED_BACKEND_MIG=The backend (Map and Schema) meta-data of the {0} project migrated successfully.
NOT_NEEDED_DEPLOYMENT_DESC_MIG=The deployment descriptor was not found in the project {0}.
NOT_NEEDED_BACKEND_MIG=The old backend (Map and Schema) structure was not found in the project {0}.
MIGRATION_COMPLETE=Migration Complete
MIGRATION_ERRORS=Migration Errors
MIGRATION_NOT_NEEDED=Migration Not Needed
CONFIRMATION_TITLE=Confirm Migration
OPEN_EDITORS_TITLE=Open Editors
CONFIRM_MIGRATE_PROJECT_STRUCTURE=This will migrate the project structure for the selected items to the latest format.  Continue?
CONFIRM_MIGRATE_J2EE_13=This will migrate the project structure for the selected items if necessary, and migrate the J2EE version of the selected items from 1.2 to 1.3.  Continue?
INFORM_OPEN_EDITORS=Open editors exist in the workbench.  Please close all editors before running migration.
WEBCONTENT_LIBPATH_UPDATE_FAILED=Unable to remove JAR file from classpath.
FAILED_DEPLOY_DELETE=Failed deleting deploy code in {0} project.
COMPLETED_DEPLOY_DELETE=Completed delete of deploy code in {0} project.
FAILED_LOCAL_CLIENT_CREATE=Failed creating local client view for {0}.
COMPLETED_LOCAL_CLIENT_CREATE=Completed creation of a local client view for {0}.
COMPLETED_CMP20_CODEGEN=Completed CMP 2.0 code generation in {0} project.
LOCAL_CLIENT_NOT_NEEDED=A local client view was not created since one already exists for {0}.
INVALID_SELECTION_TITLE=Invalid Selection
INFORM_PROPER_SELECTION=Selection must be one enterprise application project or any combination of EJB, web, and application client module projects.
REQUIRED_CLIENT_VIEW_TITLE=Client View Required
CONFIRM_CLIENT_VIEW_REQUIRED=The following beans are required to have client views because of inheritance or relationship rules.  These beans will be automatically selected and client views will be generated.
FILES_OUT_OF_SYNC=Cannot migrate because some resources are out-of-sync with the file system in project {0}.  Refresh the project and try again.
DeleteModuleOperation_UI_0=No Projects to delete
ResourceReferenceDataModel_UI_0=Type must be indicated.
ResourceReferenceDataModel_UI_1=Authentication must be indicated.
ReferenceDataModel_UI_3=No Owner for the reference has been indicated.
ReferenceDataModel_UI_5=Reference name cannot be empty.
ReferenceDataModel_UI_6=Reference name already exists.
ServiceReferenceDataModel_ERROR_8=IWAE0041E A target Web Service must be selected.
EJBReferenceDataModel_UI_10=Selected target EJB does not have local interfaces.
EJBReferenceDataModel_UI_11=Selected target EJB does not have remote interfaces.
EJBReferenceDataModel_UI_12=Target bean must be selected.
PortComponentReferenceDataModel_ERROR_4=IWAE0042E Service Endpoint Interface must be indicated.
MessageDestReferenceDataModel.7=Type must be indicated.
MessageDestReferenceDataModel.8=Usage must be indicated.
MessageDestReferenceDataModel.9=Link must be unique within EAR.
ResourceEnvironmentReferenceDataModel.2=Type must be selected.
RenameModuleOperation_UI_0=No Projects to rename.
ServerTargetDataModel_UI_7=There are no available target servers.
ServerTargetDataModel_UI_8=A target server must be set.
ServerTargetDataModel_UI_9=Invalid target server selected.
InvalidCharsError=Invalid character #.
Remote_cannot_be_empty_UI_=Remote interface cannot be empty.
Home_cannot_be_empty_UI_=Home interface cannot be empty.
Local_home_cannot_be_empty_UI_=Local home interface cannot be empty.
Local_cannot_be_empty_UI_=Local interface cannot be empty.

USE_REMOTE_FOR_DIFFERENT_EAR=Best practice is to create 'remote' reference for an EJB if it's in different EAR.
USE_LOCAL_FOR_DIFFERENT_EAR=Best pracitce is to create 'local' reference for an EJB if it's in same EAR.
TARGET_ALSO_EXIST_IN_SAME_EAR=The selected  EJB was detected in ''{0}'' EAR which contains the ''{1}'' module project . Did you mean to select the EJB from the ''{0}'' EAR?
APP_CLIENT_ONLY_HAVE_REMOTE=Application client module can only have remote references.
J2EE_1_2_ONLY_HAVE_REMOTE=J2EE 1.2 modules can only have remote references.

