# 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= Error accessing remote reference {0} : Return code: {1}
ContentReference.FileDoesNotExist=The file {0} does not exist on the filesystem.

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= The Feature {0} does not have a Content Provider. Internal Error.
Feature.NoFeatureContentConsumer= The Feature {0} does not have a Content Consumer. Internal Error.
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:

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 plugin: {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.

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.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.

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 straem. 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 plugin entry: {0}.
FeatureExecutableContentProvider.UnableToRetrieveNonPluginEntry=Error retrieving the non-plugin entry: {0}. 
FeatureExecutableContentProvider.UnableToRetrieveFeatureEntry=Error retrieving feature entry content reference: {0}.
FeatureExecutableContentProvider.UnableToRetrievePluginEntry =Error retrieving the plugin entry: {0}. 

ConfiguredSite.NonInstallableSite= You cannot install in the site {0}. It is considered non updatable.
ConfiguredSite.NullFeatureToInstall= Internal Error. The Feature to be installed is null.
ConfiguredSite.NonUninstallableSite= You cannot uninstall from the site {0}. It is considered non updatable.
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= Internal Error. Unable to retrieve Plugin Entry {0} on site {1}. Cannot find plugin entry. Continue ?
ConfiguredSite.MissingPluginsBrokenFeature= The feature requires {0} that is missing from the site.
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 modifed 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: InternalError. Unable to resolve url {0}
ConfiguredSite.UnableResolveURL: InternalError. Unable to access platform site {0}

FeatureFactory.ParsingError= Error parsing \"feature.xml\" stream in the feature archive {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}. {0} does not exist.
FeaturePackagedContentProvider.ErrorRetrieving= Error retrieving {0} in Archive Reference {1} at location {2}. Unable to access {0}.
FeaturePackagedContentProvider.NoFeature= No Feature
FeaturePackagedContentProvider.FileDoesNotExist= The File \"{0}\" does not exist.
FeaturePackagedContentProvider.InvalidDirectory= The directory \"{0}\" is not a valid directory.
FeaturePackagedContentProvider.NoReference= No Reference

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.

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.TwoVersionSamePlugin=Another feature: \"{0} {1}\" configures plugin \"{2}\"
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=Nested feature \"{0} {1}\" has problems.
SiteLocal.NestedFeatureUnavailable=Nested feature \"{0}\" cannot be found.

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...
