# /**
#  * Copyright (c) 2008 IBM Corporation 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:
#  *   itemis - Initial API and implementation
#  */

# NLS_MESSAGEFORMAT_VAR

_UI_IDE_ExamplesCategory_name = APP4MC IDE Extension Examples

_UI_IDE_ActionsExampleWizard_name = IDE Actions Example
_UI_IDE_ActionsExampleWizard_desc = Create a project that contains custom editor actions
_UI_IDE_ActionsExampleProject_desc = Project that contains the definition of custom editor actions

_UI_IDE_ValidationsExampleWizard_name = IDE Validations Example
_UI_IDE_ValidationsExampleWizard_desc = Create a project that contains custom validations
_UI_IDE_ValidationsExampleProject_desc = Project that contains the definition of custom validations

_UI_IDE_VisualizationsExampleWizard_name = IDE Visualizations Example
_UI_IDE_VisualizationsExampleWizard_desc = Create a project that contains custom visualizations
_UI_IDE_VisualizationsExampleProject_desc = Project that contains the definition of custom visualizations
