# ==============================================================================
#*+------------------------------------------------------------------------+
#*| Copyright (c) 2005  IBM Corporation and others.                        |
#*| This program and the accompanying materials are made                   |
#*| available under the terms of the Eclipse Public License 2.0            |
#*| which is available at https://www.eclipse.org/legal/epl-2.0/           |
#*|                                                                        |
#*| SPDX-License-Identifier: EPL-2.0                                       |
#*| Contributors:                                                          |
#*|    IBM Corporation - initial API and implementation                    |
#*+------------------------------------------------------------------------+
# ==============================================================================
# ==============================================================================
# Geoshape Diagram - Translation Instruction: section to be translated
# ==============================================================================

Plugin.name = GMF Geometric Shapes
Plugin.providerName = Eclipse Modeling Project

ext.globalActionHandlerProviders = Geoshapes Editor Global Action Handler Providers

# ==============================================================================
# Geometric Shapes - Wizards -  Translation Instruction:  section to be 
# translated
# ==============================================================================
GMF_example_wizard_category_name = GMF (Graphical Modeling Framework) Diagrams

Geoshape_example_wizard_description = An example of a wizard that creates sample geoshape file

Geoshape_example_graphical_editor_name = Geoshape editor

CreateGeoshapePage1.Title = Create geoshape file

CreateGeoshapePage1.Description = Create a new geoshape file resource.

CreateGeoshapePage1.ModelNames.GroupName = Geoshape Model Samples

CreateGeoshapePage1.ModelNames.EmptyModelName = Empty Model

# ==============================================================================
#  Diagram UI Properties - section to be translated
# ==============================================================================
General=General
Appearance=Appearance
Advanced= Advanced
