###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
# Install Update Core Properties File
# 

BaseSiteFactory.CannotRetriveParentDirectory=Unable to retrieve parent directory for URL \"{0}\".
BaseSiteFactory.CannotEncodeURL= Unable to encode URL \"{0}\".

ContentReference.UnableToCreateInputStream= Unable to create an input stream for the reference \"{0}\".
ContentReference.UnableToReturnReferenceAsFile= Unable to return reference \"{0}\" as File.
ContentReference.UnableToReturnReferenceAsURL= Unable to return reference \"{0}\" as URL.
ContentReference.HttpNok= Server returned HTTP response code: \"{0} {1}\" for URL: {2}.
ContentReference.FileDoesNotExist=The file \"{0}\" does not exist on the file system.

Feature.SiteAlreadySet= Internal Error: Site already set for the feature \"{0}\".
Feature.TaskInstallFeatureFiles= Installing feature files: 
Feature.TaskInstallPluginFiles= Installing plug-in \"{0}\" files:
Feature.TaskInstallNonPluginsFiles= Installing non-plug-in files: 
Feature.NoContentProvider= Internal Error. The feature \"{0}\" does not have a content provider.
Feature.NoFeatureContentConsumer= Internal Error. The Feature \"{0}\" does not have a content consumer.
Feature.NoURL= Unknown URL.
Feature.FeatureVersionToString= Feature: \"{0}\" Version: \"{1}\".
Feature.InstallationCancelled= Installation has been cancelled by the User.
Feature.UnableToInitializeFeatureReference= Unable to initialize feature reference for versioned identifier \"{0}\".

FeatureContentProvider.Downloading= Downloading:
FeatureContentProvider.UnableToRetrieve= Unable to retrieve remote reference \"{0}\".
FeatureContentProvider.UnableToCreate= Unable to create local file \"{0}\".

InstallHandler.unableToCreateHandler = Unable to create custom install handler for feature \"{0}\".
InstallHandler.notFound = Custom install handler required by feature \"{0}\" was not found.
InstallHandler.invalidHandler = Feature \"{0}\" contains invalid custom install handler.
InstallHandler.callException = Error reported by custom install handler for feature \"{0}\".
InstallHandler.deactivated = Custom install handler for feature \"{0}\" deactivated due to errors.
InstallHandler.error = Unable to complete action for feature \"{0}\" due to errors.

InstallMonitor.DownloadSize = ({0}K bytes)
InstallMonitor.DownloadSizeLong = ({0}K of {1}K bytes)

Reconciler.appNotFound = Application \"{0}\" not found.

JarContentReference.Unpacking= Unpacking:

Site.CannotSaveSiteInto= Cannot save Site information into the File: \"{0}\".
Site.CannotFindCategory= Unable to find category: \"{0}\" in Site: \"{1}\".
Site.NoCategories= The Site does not contain any categories.
Site.NoContentProvider= Internal Error. Content Provider not set for Site: \"{0}\".

VersionedIdentifier.IdOrVersionNull= Internal Error. Unable to create an Identifier. The unique identifier or the version is null or empty: unique identifier=\"{0}\" version=\"{1}\".

SiteFile.CannotRemovePlugin= Unable to remove plug-in: \"{0}\" from Site: \"{1}\".
SiteFile.CannotRemoveFeature= Unable to remove feature: \"{0}\" from Site: \"{1}\".
SiteFile.UnableToCreateURL= Unable to create URL for location \"{0}\".
SiteFile.Removing= Removing: 

SiteFileFactory.UnableToCreateURL= Internal Error. Unable to create URL from \"{0}\".
SiteFileFactory.UnableToAccessSite= Unable to access Site stream.
SiteFileFactory.DirectoryDoesNotExist=The directory \"{0}\" does not exist on the file system.

DefaultFeatureParser.NoFeatureTag= Error parsing feature stream. Unable to find root element \"feature\" in the stream.
DefaultFeatureParser.WrongParsingStack= Internal Error parsing feature stream. Unexpected Parsing Stack: \"{0}\"
DefaultFeatureParser.UnknownElement= Error parsing feature stream. Unknown element \"{0}\" in parsing state \"{1}\". Check the validity of the XML file.
DefaultFeatureParser.TooManyURLtag= Error parsing feature stream. There is more than one \"URL\" element in the XML stream. There should be only one.
DefaultFeatureParser.UnknownStartState= Internal Error parsing feature stream. Unknown start state \"{0}\".
DefaultFeatureParser.IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty for the State: \"{2}\": unique identifier=\"{0}\" version=\"{1}\".
DefaultFeatureParser.MissingId= Error parsing feature stream. The \"id\" tag of the element \"{0}\" is null or empty. Value is required.
DefaultFeatureParser.ParsingStackBackToInitialState= Internal Error parsing feature stream. Parsing stack back to Initial State.
DefaultFeatureParser.ElementAlreadySet= Error parsing feature stream. Element: \"{0}\" already set for the feature.
DefaultFeatureParser.StateIncludeWrongElement= Error parsing feature stream. State: \"{0}\" should not include Element \"{1}\".
DefaultFeatureParser.RequireStateWithoutImportElement=Error parsing feature stream. State: \"require\" must include at least an \"import\" element.
DefaultFeatureParser.MissingPatchVersion=Error parsing feature stream. Attribute "version" of the element "import" must be set when "patch" is set to "true".
DefaultFeatureParser.wrongMatchForPatch=Error parsing feature stream. When attribute "patch" of the element "import" is set to "true", the only valid value for the "match" attribute is "perfect". 
DefaultFeatureParser.patchWithPlugin=Error parsing feature stream. Attribute "patch" can only be used for features.
DefaultFeatureParser.MultiplePatchImports=Error parsing feature stream. State: "require" must not contain more than one "import" element with the attribute "patch" set to "true".
DefaultFeatureParser.UnknownEndState= Internal Error parsing feature stream. Unknown end state \"{0}\".
DefaultFeatureParser.ErrorParsing= Error Parsing feature stream. Error: \"{0}\"
DefaultFeatureParser.ErrorlineColumnMessage= Error Parsing feature stream. Element \"{0}\" line: \"{1}\" column:\"{2}\". Error: \"{3}\".
DefaultFeatureParser.ErrorParsingFeature= Error Parsing feature stream.
DefaultFeatureParser.UnknownState= Unknown State \"{0}\".
DefaultFeatureParser.NoLicenseText= Error parsing feature stream. State: \"license\" must include some text.

# 2.0.2
DefaultFeatureParser.PluginAndFeatureId=One Import statement is incorrect: Both feature and plug-in ID are either null or specified.

SiteContentProvider.ErrorCreatingURLForArchiveID= Internal Error. Unable to create URL for Archive Identifier \"{0}\" on Site \"{1}\".

DefaultSiteParser.NoSiteTag= Error parsing site stream. Unable to find root element \"site\" in the stream.
DefaultSiteParser.WrongParsingStack= Internal Error parsing site stream. Unexpected Parsing Stack: \"{0}\"
DefaultSiteParser.UnknownElement= Error parsing site stream. Unknown element \"{0}\" in parsing state \"{1}\". Check the validity of the XML file.
DefaultSiteParser.UnknownStartState= Internal Error parsing site stream. Unknown start state \"{0}\".
DefaultSiteParser.Missing= Error parsing site stream. The \"{0}\" tag of the element \"{1}\" is null or empty. Value is required.
DefaultSiteParser.ParsingStackBackToInitialState= Internal Error parsing site stream. Parsing stack back to Initial State.
DefaultSiteParser.ElementAlreadySet= Error parsing site stream. Element: \"{0}\" already set for the Site.
DefaultSiteParser.CategoryAlreadySet= Error parsing site stream. Element: \"{0}\": \"{1}\" already set for the Site.
DefaultSiteParser.UnknownEndState= Internal Error parsing site stream. Unknown end state \"{0}\".
DefaultSiteParser.ErrorParsing= Error Parsing site stream. Error: \"{0}\"
DefaultSiteParser.ErrorlineColumnMessage= Error Parsing site stream. Element \"{0}\" line: \"{1}\" column:\"{2}\". Error: \"{3}\".
DefaultSiteParser.ErrorParsingSite= Error Parsing site stream.
DefaultSiteParser.UnknownState= Unknown State \"{0}\".
DefaultSiteParser.InvalidXMLStream= The XML stream is not a valid default \"site.xml\" file. The root tag is not site.

ModelObject.ModelReadOnly= Internal Error. The Model Object is read-only.

SiteModelObject.ErrorParsingSiteStream= Error parsing site stream.
SiteModelObject.ErrorAccessingSiteStream= Error accessing site stream.

InstallConfiguration.ParsingErrorDuringCreation= Internal Error parsing \"{0}\": \"{1}\".
InstallConfiguration.ErrorDuringFileAccess= Error accessing file: \"{0}\".

Parser.UnableToCreateURL= Internal Error parsing stream. Check the validity of the URLs.
Parser.InternalError= Error Parsing Stream. An internal error occurred. \"{0}\".
Parser.UnableToResolveURL= Internal Error parsing stream. Unable to resolve URL \"{0}\".

InstallConfigurationParser.FeatureReferenceNoURL= Error Parsing Stream. A feature reference element does not have a URL tag. Value is required.

FeatureExecutableContentProvider.FileDoesNotExist= The file \"{0}\" does not exist.
FeatureExecutableContentProvider.InvalidDirectory= The path \"{0}\" is not a valid directory.
FeatureExecutableContentProvider.UnableToCreateURLFor=Unable to create a URL for \"{0}\".
FeatureExecutableContentProvider.UnableToRetrieveArchive=Error retrieving the archive entry: \"{0}\".
FeatureExecutableContentProvider.UnableToRetrieveNonPluginEntry=Error retrieving the non-plug-in entry: \"{0}\". 
FeatureExecutableContentProvider.UnableToRetrieveFeatureEntry=Error retrieving feature entry content reference: \"{0}\".
FeatureExecutableContentProvider.UnableToRetrievePluginEntry =Error retrieving the plug-in entry: \"{0}\". 

ConfiguredSite.NonInstallableSite= You cannot install in the site \"{0}\". It is considered non updateable.
ConfiguredSite.NullFeatureToInstall= Internal Error. The feature to be installed is null.
ConfiguredSite.NonUninstallableSite= You cannot uninstall from the site \"{0}\". It is considered non updateable.
ConfiguredSite.NoSite= No Site
ConfiguredSite.CannotFindFeatureToUnconfigure= Internal Error. Unable to disable feature \"{0}\" on site \"{1}\". Cannot find feature.
ConfiguredSite.CannotFindFeatureToConfigure= Internal Error. Unable to enable feature \"{0}\". Cannot find feature. 
ConfiguredSite.CannotFindPluginEntry= Unable to retrieve Plug-in Entry \"{0}\" on site \"{1}\". Cannot find plug-in entry. Do you want to Continue ?
ConfiguredSite.MissingPluginsBrokenFeature= Plug-in \"{0}\" version \"{1}\" referenced by this feature is missing.
ConfiguredSite.UnableToRemoveConfiguredFeature= Unable to remove a enabled feature: \"{0}\" You must disable the feature first.
ConfiguredSite.UnableToFindFeature= Unable to Find the feature \"{0}\" on this site.
ConfiguredSite.SiteURLNull=The Site URL is null.
ConfiguredSite.NonLocalSite=The Site is not on the local file system. Cannot validate. 
ConfiguredSite.NotSameProductId=The site cannot be modified by this product. It is already associated with product: \"{0}\".
ConfiguredSite.ContainedInAnotherSite=This site is contained in another site: \"{0}\".
ConfiguredSite.ReadOnlySite=The site is marked as read only.
ConfiguredSite.UnableResolveURL= Internal Error. Unable to resolve URL \"{0}\".
ConfiguredSite.UnableToAccessSite= Internal Error. Unable to access platform site \"{0}\".

FeatureFactory.CreatingError= Error creating feature \"{0}\".
FeatureModelFactory.ErrorAccesingFeatureStream= Error accessing feature stream.

FeatureExecutableFactory.NullURL= Error creating feature. The URL used to create the feature is null.
FeatureExecutableFactory.CannotCreateURL= Error creating feature. Unable to create URL for \"{0}\".

FeaturePackagedContentProvider.NoManifestFile= Unable to retrieve \"{0}\" in feature located at \"{1}\". 
FeaturePackagedContentProvider.NoFeature= No feature
FeaturePackagedContentProvider.FileDoesNotExist= The File \"{0}\" does not exist.
FeaturePackagedContentProvider.InvalidDirectory= The directory \"{0}\" is not a valid directory.
FeaturePackagedContentProvider.ErrorRetrieving= Error retrieving \"{0}\".
FeaturePackagedContentProvider.ContentReferenceString= from \"{0}\"
FeaturePackagedContentProvider.URLString= located at \"{0}\"

FeatureReference.UnableToResolveURL= Internal Error: Unable to resolve model using URL: \"{0}\".

FeatureTypeFactory.UnableToFindFeatureFactory= Unable to find a feature factory for the extension id \"{0}\". 

InstallConfiguration.UnableToSaveConfiguration= Unable to save configuration in \"{0}\".
InstallConfiguration.UnableToEncodeConfiguration= Unable to encode configuration in \"{0}\".
InstallConfiguration.UnableToCreateURL= Unable to create URL from \"{0}\".
InstallConfiguration.UnableToCast= Internal Error. The Configuration Site object is not a subclass of ConfiguredSiteModel
InstallConfiguration.UnableToSavePlatformConfiguration=Unable to save platform configuration in \"{0}\".
InstallConfiguration.AlreadyNativelyLinked=The site is already linked.
InstallConfiguration.NotAnExtensionSite=The site cannot be linked to. It is not an extension site.

InternalSiteManager.UnableToCreateSiteWithType= Extension Error. The Site Factory of type \"{0}\" cannot access the Site \"{1}\".
InternalSiteManager.UnableToAccessURL= Unable to access \"{0}\".
InternalSiteManager.UnableToCreateURL= Unable to create URL from \"{0}\".
InternalSiteManager.UnableToParseURL= Unable to parse the stream \"{0}\".
InternalSiteManager.FailedRetryAccessingSite= Failed retry accessing site using default installed format instead of default packaged format.
InternalSiteManager.ConnectingToSite = Connecting To Site...

SiteReconciler.UnableToFindInstallDeltaFactory= Internal Error: Unable to find factory to display changes. Open the Update Manager manually.

Policy.NoMessageAvailable= No message available.
Policy.MissingMessage= Missing message: \"{0}\".
Policy.Missing= missing \"{0}\".

GlobalConsumer.ErrorCreatingFile= Unable to create file \"{0}\".

SiteFileContentConsumer.UnableToCreateURL= Unable to create URL from \"{0}\".
SiteFileContentConsumer.UnableToCreateURLForFile= Unable to create URL for the file \"{0}\".

ContentConsumer.UnableToRename = Internal Error. Unable to rename \"{0}\" to \"{1}\".

SiteFileFactory.UnableToRetriveSite= Unable retrieve this Site from a directory. The URL should point to a file instead.
SiteFileFactory.UnableToObtainParentDirectory= Unable obtain the parent directory from the file \"{0}\".
SiteFileFactory.FileDoesNotExist= Unable to access site \"{0}\". The directory does not exist.
SiteFileFactory.UnableToCreateURLForFile= Unable to create URL from \"{0}\".
SiteFileFactory.ErrorParsingFile= Unable to parse file \"{0}\".
SiteFileFactory.ErrorAccessing= Unable to access file \"{0}\".

SiteTypeFactory.UnableToFindSiteFactory= Unable to find a site factory for the extension id \"{0}\". 

UpdateManagerUtils.UnableToRemoveFile= Unable to remove \"{0}\" from the file system.
UpdateManagerUtils.FileAlreadyExists= Unable to create \"{0}\" on the file system. File already exists.

SiteLocal.ErrorParsingSavedState= Error during parsing of the configuration saved state \"{0}\".
SiteLocal.UnableToCreateURLFor= Unable to create URL from \"{0}\".
SiteLocal.UnableToAccessFile= Unable to access file \"{0}\".
SiteLocal.UnableToSaveStateIn= Unable to persist configurations into \"{0}\".
SiteLocal.UnableToEncodeConfiguration= Unable to encode configurations into \"{0}\".
SiteLocal.UnableToResolve= Internal Error. Unable to resolve \"{0}\".
SiteLocal.UnableToRetrieveRWArea= Internal Error. Unable to retrieve location to write metadata.
SiteLocal.SiteUrlIsNull= Internal Error: URL of local site is null.
SiteLocal.UnableToDetermineFeatureStatusSiteNull=Unable to determine status of feature\"{0}\" The site is NULL.
SiteLocal.TwoVersionSamePlugin1=Plug-in: \"{0}\" version: \"{1}\" referenced by this feature is not included at runtime. Runtime includes plug-in version \"{2}\".
SiteLocal.TwoVersionSamePlugin2=Plug-in: \"{0}\" version: \"{1}\" referenced by this feature is not included at runtime. Runtime includes plug-in version \"{2}\" supplied by feature \"{3}\" version \"{4}\".
SiteLocal.FeatureUnHappy=The feature is not configured properly.
SiteLocal.FeatureHappy=The feature is configured properly.
SiteLocal.FeatureAmbiguous=The feature may not be configured properly.
SiteLocal.NestedFeatureUnHappy=Included feature \"{0}\" version \"{1}\" contains problems.
SiteLocal.NestedFeatureUnavailable=Included feature \"{0}\" is missing.
SiteLocal.NoPluginVersion=No plug-in: \"{0}\" included at runtime.

#202
SiteLocal.UnableToDetermineFeatureStatusConfiguredSiteNull=Unable to determine status of feature\"{0}\" The Configured Site is NULL.
SiteLocal.FeatureDisable=The feature is disabled.
SiteLocal.FeatureStatusUnknown=Unknown state.
SiteLocal.NestedFeatureDisable=Included feature \"{0}\" version \"{1}\" is disabled.
SiteLocal.NullFeature=The feature is null.
SiteLocal.WrongURL=A URL of an Originating site is not valid.

SiteReconciler.UnableToSaveStateIn= Unable to persist delta change into \"{0}\".
SiteReconciler.UnableToEncodeConfiguration= Unable to encode delta change into \"{0}\".

SiteURLFactory.UnableToCreateURL= Internal Error. Unable to create a URL from \"{0}\".
SiteURLFactory.UnableToAccessSiteStream= Unable to access Site stream: \"{0}\"

JarVerifier.Verify= Verifying: \"{0}\"
JarVerifier.UnableToFindEncryption= Unable to find algorithm to verify integrity of KeyStore \"{0}\".
JarVerifier.UnableToLoadCertificate= Unable to load one or multiples certificates in the KeyStore \"{0}\".
JarVerifier.UnableToFindProviderForKeystore= Unable to find provider for the KeyStore type \"{0}\".
JarVerifier.KeyStoreNotLoaded= Internal Error. KeyStore not Initialized/Loaded.
JarVerifier.UnableToAccessJar= Unable to access JAR file \"{0}\".
JarVerifier.InvalidFile= The File \"{0}\" is not a valid JAR file. It does not contain a Manifest.
JarVerifier.InvalidJar= The File \"{0}\" is not a valid JAR file.

JarVerificationResult.ValidBetween= Valid between \"{0}\" and \"{1}\".
JarVerificationResult.ExpiredCertificate= * EXPIRED CERTIFICATE *
JarVerificationResult.CertificateNotYetValid= * CERTIFICATE NOT YET VALID *
JarVerificationResult.CertificateValid= Valid certificate.

JarVerificationService.UnsucessfulVerification=Verification of feature unsuccessful. Installation cancelled.
JarVerificationService.CancelInstall=Installation cancelled.

UpdateManagerUtils.UnableToLog=Unable to access error recovery log file: \"{0}\".

SessionDelta.EnableFeatures=Enabling selected features...

ConfigurationPolicy.UnableToDisable= Unable to disable feature \"{0}\".
ConfigurationPolicy.ParentIsEnable= The parent feature: \"{0}\" is enable.

ConnectionThreadManager.tooManyConnections = There are too many network connections still active. \
If you are experiencing network problems, try again later. If the error persists, restart the \
application.
ConnectionThreadManager.unresponsiveURL = Still waiting for response: {0}


