# *******************************************************************************
#  Copyright (c) 2018 Robert Bosch GmbH and others.
#  All rights reserved. This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License 2.0
#  which accompanies this distribution, and is available at
#  https://www.eclipse.org/legal/epl-2.0/
# 
#   Contributors:
#  	 Robert Bosch GmbH - initial API and implementation
# 
# *******************************************************************************

# NLS_MESSAGEFORMAT_VAR

_UI_AMALTHEA_ExamplesCategory_name = AMALTHEA Examples

_UI_AMALTHEA_DemocarExamplesWizard_name = Democar Examples
_UI_AMALTHEA_DemocarExamplesWizard_desc = Create projects that contain the Democar Example
_UI_AMALTHEA_HwmodelExamplesWizard_name = Hwmodel Examples
_UI_AMALTHEA_HwmodelExamplesWizard_desc = Create a project that contains the Hwmodel Example
_UI_AMALTHEA_ModelingExamplesWizard_name = Modeling Examples
_UI_AMALTHEA_ModelingExamplesWizard_desc = Create a project that contains the Modeling Example

_UI_AMALTHEA_Example_Democar_Project_desc = The project contains the AMALTHEA models of the Democar example
_UI_AMALTHEA_Example_Hwmodel_Project_desc = The project contains the AMALTHEA models of hardware description examples
_UI_AMALTHEA_Example_Modeling_Project_desc = The project contains the AMALTHEA models of Modeling Examples
