#-------------------------------------------------------------------------------
# Copyright (c) 2005, 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR
#
# Message ID Range: IUPE0000E - IUPE0099E
#

# Export Library Configuration Wizard
exportConfigWizard_title=Export Library Configuration
selectExportTypePage_title=Select export type
selectExportTypePage_desc=Select the type of library configuration to export.
selectExportTypePage_configLabel_text=Export a method configuration and all its method plug-ins
selectExportTypePage_configSpecsLabel_text=Export one or more method configuration specifications
selectConfigPage_title=Select method configuration
selectConfigPage_desc=Select a method configuration to export. All referenced method plug-ins in the selected configuration will be included in the export.
selectConfigPage_configsLabel_text=Method configurations:
selectConfigSpecsPage_title=Select configuration specifications
selectConfigSpecsPage_desc=Select one or more method configuration specificatons to export.
selectConfigSpecsPage_configsLabel_text=Method configurations:
checkConfigPage_title=Review configuration errors
checkConfigPage_desc=An integrity check has been performed on the selected method configuration. Review the error report and perform the necessary corrective actions.
selectDestinationPage_title=Specify export directory
selectDestinationPage_desc=Specify a destination directory to store the exported configuration.

# Export Method Plug-ins Wizard
exportPluginsWizard_title=Export Method Plug-ins
selectPluginsPage_title=Select method plug-ins
selectPluginsPage_desc=Select one or more method plug-ins to export.
selectPluginsPage_pluginsLabel_text=Method plug-ins:
reviewPluginsPage_title=Review dependencies
reviewPluginsPage_desc=Select each method plug-in to review its dependencies. Click Back to select the dependent plug-ins if they must be included in the export.
reviewPluginsPage_pluginsLabel_text=Method Plug-ins:
reviewPluginsPage_dependentPluginsLabel_text=Dependent method plug-ins:
reviewPluginsPage_associatedConfigsLabel_text=Associated method configurations:
exportPluginSummaryPage_title=Confirm export
exportPluginSummaryPage_desc=Confirm the method plug-ins that will be exported.
exportPluginSummaryPage_noPlugin_text=No method plug-in has been selected.
specifyPathPage_title=Specify export directory
specifyPathPage_desc=Specify a destination directory to store the exported method plug-ins.
SavePluginPage_desc=Export the selected Plugins and Configurations to the specified destination directory.
ExportPluginWizard_title=Export Method Plug-in Wizard Error
ExportPluginError_msg=IUPE0000E: Error encountered in exporting

# Export Library Configuration Error Dialog
exportConfigErrorDialog_title=Export Library Configuration
exportConfigErrorDialog_msg=IUPE0001E: The export operation cannot proceed.

# Progress Messages
analyzingConfigTask_name=Analyzing library configuration...

# The following messages have not been reviewed.
ConfigurationSpecsExportService_MSG0=Exporting configuration...
ConfigurationSpecsExportService_MSG1=Export done.
ExportConfigCheckingPage_summary_1=Checking the integrity of the selected configuration...\n
ExportConfigCheckingPage_summary_2=No coniguration selected.\n
ExportConfigCheckingPage_summary_3=There is no problem in the selected configuration.\n
ExportConfigCheckingPage_summary_4=There are {0} problems in the selected configuration. \nYou can open the configuration editor and fix those problems. \nOr you can choose to ignore these problems and continue.
ExportConfigCheckingPage_checking=Checking configuration, please wait...
ExportConfigSelectConfigPage_title=Choose Method Configuration
DestinationCommonPage_label_browse=Browse...
DestinationCommonPage_label_default_dir=Use default directory
ConfigurationExportService_MSG0=Exporting configuration...
ConfigurationExportService_MSG2=IUPE0002E: Export failed: Error loading library
ConfigurationExportService_MSG4=IUPE0003E: Export failed: Error copying library
ConfigurationExportService_MSG1=IUPE0004E: Export failed: Error making library configuration closure
ConfigurationExportService_MSG9=IUPE0005E: Export failed: Error saving library
DestinationCommonPage_label_name=Name:
DestinationCommonPage_label_dir=Directory:
ExportPluginWizard_error=Error
DestinationCommonPage_title=Default Title
DestinationCommonPage_desc=Default description:
PluginExportService_MSG0=Exporting plug-ins...
PluginExportService_MSG1=Creating export directory...
PluginExportService_MSG2=Copying files...
PluginExportService_MSG3=Generating library and resource file...
PluginExportService_MSG4=Export done.
SaveLibraryPage_title=Export Method Plug-in
SavePluginPage_label_name=Export name:
SaveLibraryPage_desc=Export the selected method plug-ins and associated configurations
ExportPluginWizard_MSG1=Analyzing library configuration...
