###############################################################################
# Copyright (c) 2011 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:
#     Sonatype - initial API and implementation
###############################################################################
Column_Id=Id
Column_Name=Name
Column_Version=Version
ExportPage_Title=Export Software Configuration
ExportPage_TryAgainQuestion=<p>Do you want to try again?</p></form>
ExportPage_Description=Export a list of installed software and their repositories to the local file system.
ExportPage_Label=Select the software items to export:
EXTENSION_ALL=*.*
EXTENSION_ALL_NAME=All files (*.*)
EXTENSION_p2F=*.p2f
EXTENSION_p2F_NAME=Description files (*.p2f)
Page_BUTTON_BROWSER=B&rowse...
ExportPage_DEST_ERRORMESSAGE=Description file is not set, or is not a normal file.
ExportPage_ERROR_CONFIG=Your application is not properly configured.
ExportPage_Fail=<form><p>Selected installed software failed to be export. See problems below:<br/></p>
ExportPage_FILEDIALOG_TITLE=Export to File
ExportPage_FixSuggestion=<p>Try to enable the software sites in the <a href="pref://org.eclipse.equinox.internal.p2.ui.sdk.SitesPreferencePage">preference page</a>.</p>
ExportPage_LABEL_EXPORTFILE=To d&escription file:
ExportPage_SuccessWithProblems=<form><p>The export partially succeeded. The following elements failed to be exported:<br/></p>
ExportWizard_ConfirmDialogTitle=Question
ExportWizard_OverwriteConfirm=The file {0} already exists, do you want to overwrite it?
ExportWizard_WizardTitle=Export
PAGE_NOINSTALLTION_ERROR=Select at least one available element to be installed.
ImportPage_DESCRIPTION=Install the software mentioned in the description file.
ImportPage_DEST_ERROR=Specified file doesn't exist or can't be read.
ImportPage_DESTINATION_LABEL=From &description file:
ImportPage_FILEDIALOG_TITLE=Import from Description File
ImportPage_FILENOTFOUND=The specified file doesn't exist.
AbstractImportPage_HigherVersionInstalled={0} (Disabled because a higher version is already installed)
ImportPage_InstallLatestVersion=Install &latest version of selected software.
ImportPage_QueryFeaturesJob=Query selected software...
AbstractImportPage_SameVersionInstalled={0} (Disabled due to it has been already installed)
AbstractPage_ButtonDeselectAll=&Deselect All
AbstractPage_ButtonSelectAll=&Select All
ImportPage_TITLE=Import Software Configuration
ImportWizard_CannotQuerySelection=Selected software can't be found from the repository.
ImportWizard_WINDOWTITLE=Import
ImportFromInstallationPage_DESTINATION_LABEL=From &application installation:
ImportFromInstallationPage_DIALOG_TITLE=Import from Application
ImportFromInstallationPage_DIALOG_DESCRIPTION=Import software items from the existing application installation.
ImportFromInstallationPage_INVALID_DESTINATION=Specify the path to a valid application installation.
ImportFromInstallationPage_SELECT_COMPONENT=Select at least one available element to be installed.
io_IncompatibleVersion=\
This file is incompatible with this version of the application. Version {0}; expected {1}.
io_parseError=\
Error parsing description file
Replicator_ExportJobName=Exporting selected software...
Replicator_InstallFromLocal=Aborted exporting software \"{0}\" because it can not be found in remote repositories.
Replicator_NotFoundInRepository=No enabled repository can find \"{0}\" or that repository cannot be loaded due to network issues.
Replicator_SaveJobName=Exporting selected software to file...
