# 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 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= 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 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.
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 plugin 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-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= Unable to retrieve Plugin Entry \"{0}\" on site \"{1}\". Cannot find plugin entry. Continue ?
ConfiguredSite.MissingPluginsBrokenFeature= Plugin \"{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 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.UnableToAccessSite= InternalError. 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.

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=Plugin: \"{0}\" version: \"{1}\" referenced by this feature is not included at runtime. Runtime includes plugin version \"{2}\".
SiteLocal.TwoVersionSamePlugin2=Plugin: \"{0}\" version: \"{1}\" referenced by this feature is not included at runtime. Runtime includes plugin 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 plugin: \"{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.


