###############################################################################
#  Copyright (c) 2012-2014 SAP SE.
#  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:
#  SAP SE - initial API and implementation and/or initial documentation
#
###############################################################################
# Framework project
# __ldi.translation.uuid=288732f0-800f-11e2-9e96-0800200c9a66

# YMSG
AbstractWizard_1=Wizard Error
# YMSG
AbstractWizard_3=Creation failed, see error log for details.


# XBUT
BrowseButton=&Browse...
# YMSG
EnvironmentExtension_EnvExecutableExtensionCreationFailure=Failed to create an executable extension for the environment.
# YMSG
Extension_ConfigElementNotNull=The configuration element returned was null.
# YMSG
Extension_NotEmpty={0} cannot be empty.
# YMSG
Extension_NotNull={0} cannot be null.
# YMSG
Extension_ExtensionId=Extension ID
# YMSG
ExtensionsManager_EnvExtCreationFailed=Failed to create the environment extension: {0}.
# YMSG
ExtensionsManager_EnvironmentId=Environment ID
# YMSG
ExtensionsManager_NullEnvironmentExtension=The environment configuration element returned was null.
# YMSG
ExtensionsManager_NullPatternExtension=The pattern configuration element returned was null.
# YMSG
ExtensionsManager_NullTemplateExtensionConfigElement=The template configuration element returned was null.
# YMSG
ExtensionsManager_PatternExtCreationFailed=Failed to create the pattern extension: {0}. 
# YMSG
ExtensionsManager_TemplateExtInitFailed=Failed to create the template extension: {0}.
# YMSG
ExtensionsManager_TemplateId=Template ID
# YMSG
ProxyExtensionsManager_DuplicateProxyTemplateExt=Found and removed a copy of the extension for the Proxy template {0} in the environment {1}.

# YMSG
StarterAppExtensionsManager_MissingEnvironmentId=Missing {0} environment. The template {1} has not been loaded.
# YMSG
StarterAppExtensionsManager_PatternsNotFound=Cannot load the template {0} because the pattern {1} was not found.
# YMSG 
TemplateExtension_TemplateExecutableExtensionCreationFailure=Failed to create an executable extension for the template.
# YMSG
TemplateExtension_TemplateEnvId=Template's environment ID
# YMSG
VisibleExtension_ExtensionDescription=Extension's description
# YMSG
VisibleExtension_ExtensionDisplayName=Extension's name
# YMSG
PatternExecutableExtensionCreationFailure=Failed to create an executable extension for the pattern.
# YMSG
ComponentExecutableExtensionCreationFailure=Failed to create an executable extension for the component.
# YMSG
ExtensionsManager_Could_Not_Find_Pattern=could not find pattern extension {0} for template extension {1}
# YMSG
PatternExtension_Pattern_Must_Contain_At_Least_One_Component=pattern must contain at least one component
# YMSG
PatternUtil_PatternElement_CouldNOtBeNull=patternElement cannot be null.
# YMSG
PatternUtil_Component_MustBeOfType=component {0} \ must be of type {1}
# YMSG
ExtensionsManager_Could_Not_Find_Environment=could not find environment with id: {0}
# YMSG
ExtensionsManager_Could_Not_Find_Template=could not find template with id: {0}
# YMSG
ObservableComponent_0=observer component cannot be NULL
# YMSG
Unknown_Template_Extension_Type=unknown template extension type: {0}

# XFLD
Folder=&Folder:
# XFLD
SelectFolder=Select a folder:
# YMSG
ServiceImplementationController_0=Could not validate selected extension input values
# YMSG
ServiceImplementationController_1=Could not get selected extension wizard pages
# YMSG
ServiceImplementationController_10=\ can not be used as ComplexType name.
# YMSG
ServiceImplementationController_11=\ can not be used as property name in 
# YMSG
ServiceImplementationController_12=\ 
# YMSG
ServiceImplementationController_13=\ ComplexType
# YMSG
ServiceImplementationController_2=no extension is selected
# YMSG
ServiceImplementationController_3=EDMXSet object cannot be null
# YMSG
ServiceImplementationController_4=odataFilePath parameter cannot be null
# YMSG
ServiceImplementationController_5=The odata file is corrupt or has unexpected format.
# YMSG
ServiceImplementationController_6=\ can not be used as EntityType name.
# YMSG
ServiceImplementationController_7=\ can not be used as property name in 
# YMSG
ServiceImplementationController_8=\ 
# YMSG
ServiceImplementationController_9=\ EntityType
# YMSG
ServiceImplementationController_14=Error while creating a Service Implementation Project
# YMSG
ServiceImplementationController_15=Cancel
# YMSG
ServiceImplementationExtension_0=Failed to create an executable extension for the service implementation.
# YMSG
ServiceImplementationExtension_1=Failed to create an executable extension for the service implementation.
# YMSG
ServiceImplementationExtensionsManager_0=The returned service implementation configuration element was null.
# YMSG
ServiceImplementationExtensionsManager_1=Failed to create executable service implementation extension: {0}
# XTIT
ServiceImplementationProjectPage_0=Create New OData Implementation Project
# YMSG
ServiceImplementationProjectPage_1=A project with similar name already exists in the workspace.
# YINS
ServiceImplementationProjectPage_13=Enter a project name
# YINS
ServiceImplementationProjectPage_14=Select an .odata file
# YINS
ServiceImplementationProjectPage_15=Select an implementation environment
# YMSG
ServiceImplementationProjectPage_2=No implementation environments. Either install an environment or create an environment as described in the Help Content--> Extensibility--> Implementing a New Environment.
# XFLD
ServiceImplementationProjectPage_3=Project name*:
# XFLD
ServiceImplementationProjectPage_4=Location:
# XTIT
ServiceImplementationProjectPage_5=OData File Selection
# YINS
ServiceImplementationProjectPage_6=Select .odata file:
# YINS
ServiceImplementationProjectPage_7=Select .odata file only
# XTIT
ServiceImplementationProjectPage_LocationDetails=Project Details
# XTIT
ServiceImplementationProjectPage_ServiceDetails=Service Details
# XTIT
ServiceImplementationProjectPage_ODataDetails=OData Model
# XTIT
ServiceImplementationProjectPage_ServiceType=Service Type:
# XTIT
ServiceImplementationProjectPage_Server=Server:
# XTIT
ServiceImplementationProjectPage_ODataVersion=OData Version 2.0
# XTIT
ServiceImplementationProjectPage_ServiceName=Service Name:
# XTIT
ServiceImplementationProjectPage_Path=Path:
# XTIT
ServiceImplementationProjectPage_CreateODataFile=Create an OData model
# XTIT
ServiceImplementationProjectPage_ChooseODataFile=Select an OData model
# XTIT
ServiceImplementationProjectPage_TargetRuntime=Target Runtime
# XFLD
ServiceName=&Model name:
# YINS
PleaseSelectFolder=Select a folder
# YINS
SelectModelName=Enter a model name
# YINS
PleaseSelectModelType=Select a model type
# YINS
NewODataServicePageDescription=Select content for the new model
# YINS
V2Support=Note: Elements other than version 2.0 of OData CSDL will be ignored
# YINS
ImportODataServicePageDescription=Select an initial model content to import an OData model file
# XTIT
NewODataServicePageName=Create New OData Model
# XTIT
ImportODataServicePageName=Import OData Model
# XFLD
TypeOfModel=&Model content:
# YMSG
OdataModelElementNull=The odata model configuration element returned was null.
# YMSG
ODataModelController_1=OData model object returned by '
# YMSG
ODataModelController_2=' extension cannot be null.
# YMSG
ODataModelExecutableExtensionIDCreationFailure=Failed to create executable OData model extension: {0}
# YMSG
ODataModelExecutableExtensionCreationFailure=Failed to create an executable extension for the OData model.
# XTIT
ODataServiceWizardTitle=New OData Model
# YINS
ODataServiceWizard_NoExtenions=There are no OData Model extensions, please provide at least one
# YMSG
ODataServiceWizard_ModelNameStartLetter=The model name must start with a letter
# YMSG
ODataServiceWizard_ModelNameContainLettersDigits=The model name MUST NOT contain special characters
# XFLD
ODataServiceWizard_OptionalFile=Create OData file manually
# YINS
ODataServiceWizard_CreateNewOdataModel_Desc=Create a new Service Implementation project to hold the .odata and .odatasrv files
# YMSG
Open_Graphical_Editor=Opening OData Model - 
# YMSG
ODataModelPage_ODataAlreadyExists=An .odata file with similar name already exists.
# YMSG
ODataModelProjectPage_BlankModel=Blank OData Model
# YMSG
ODataModelProjectPage_UrlModel=OData Service URL
# YMSG
ODataModelProjectPage_FileModel=OData Metadata File
# YMSG
ODataModelProjectPage_ExistingODataModel=Existing OData Model
# YMSG
ODataModelProjectPage_ServiceCatalog=Service Catalog
# YMSG
ODataModelProjectPage_BlankModelDescription=Create a blank OData model
# YMSG
ODataModelProjectPage_UrlModelDescription=Create an OData model based on an existing OData service
# YMSG
ODataModelProjectPage_FileModelDescription=Create an OData model based on a metadata file
# YMSG
ODataModelProjectPage_ExistingODataModelDescription=Create a copy of an existing OData model
# YMSG
ODataModelProjectPage_ServiceCatalogDescription=Create an OData model based on an existing OData service from a Service Catalog

# YINS 
ServiceFromFileWizardPage_2=Select the service metadata file from the file system
# YMSG
ServiceFromFileWizardPage_3=New OData model based on a metadata file
# XFLD
ServiceFromFileWizardPage_4=Service &metadata:
# XSEL 
ServiceFromFileWizardPage_5=Service metadata file validation ...
# XSEL 
ServiceFromFileWizardPage_6=Service metadata file validation
# YMSG
ServiceFromFileWizardPage_7=Service metadata file validation failed.
# XBUT 
ServiceFromFileWizardPage_8=&Browse...
# YINS
ServiceFromUrlWizardPage_0=Provide the URL of the OData service
# XTIT 
ServiceFromUrlWizardPage_1=New OData model based on an existing OData service 
# XFLD
ServiceFromUrlWizardPage_2=Service &URL:
# YINS 
ServiceFromUrlWizardPage_3=Specify the service you want to use.
# YINS 
ServiceFromUrlWizardPage_4=Click Go to verify if the specified service is well formed.
# YMSG
ServiceFromUrlWizardPage_5=Service URL is incorrect.
# XBUT 
ServiceFromUrlWizardPage_6=&Go
# XSEL 
ServiceFromUrlWizardPage_7=Service validation ...
# XSEL 
ServiceFromUrlWizardPage_8=Service validation
# YMSG
ServiceFromUrlWizardPage_9=Service URL validation failed.
# XFLD
ServiceDetails=Service &details:
# XFLD
ServiceFromODataWizardPage_OData=Existing &OData Model:
# YMSG
NotSupportedElements_wizard_message=Some elements will be discarded when importing the service. You can review the discarded elements in the Error Log.
# YMSG
ServiceFromODataWizardPage_2=Select an existing OData Model file from the file system
# YMSG
ServiceFromODataWizardPage_3=Copy an existing OData Model
# YMSG
UninstallAction_0=Ogee plug-in uninstall process error
# YMSG
UninstallAction_2=Ogee plug-in uninstall process has started
# YMSG
UninstallAction_3=Ogee plug-in uninstall process has finished successfully