# ==============================================================================
#*+------------------------------------------------------------------------+
#*| 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                    |
#*+------------------------------------------------------------------------+
# ==============================================================================
# ==============================================================================
# Diagram Clazz - Translation Instruction: section to be translated
# ==============================================================================

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

ext.modelingAssistantProvider = Geoshape Modeling Assistant Provider

# ==============================================================================
# Geometric Shapes - Palette -  Translation Instruction:  section to be 
# translated
# ==============================================================================
GeoshapeDrawer.Label = Geometric Shapes
GeoshapeDrawer.Description = Geometric Shapes Drawer

RectangleStack.Label = Rectangle Shapes
RectangleStack.Description = Rectangle Shapes Stack

RectangleMultiTool.Label = Rectangle Types
RectangleMultiTool.Description = Create various types of rectangles

PolygonStack.Label = Polygon Shapes
PolygonStack.Description = Polygon Shapes Stack

LineTool.Label = Line
LineTool.Description = Create a Line

OvalTool.Label = Oval
OvalTool.Description = Create an Oval Shape

TriangleTool.Label = Triangle
TriangleTool.Description = Create a Triangle Shape

RectangleTool.Label = Rectangle
RectangleTool.Description = Create a Rectangle Shape

ShadowRectangleTool.Label = Shadow Rectangle
ShadowRectangleTool.Description = Create a Shadow Rectangle Shape

3DRectangleTool.Label = 3D Rectangle
3DRectangleTool.Description = Create a 3D Rectangle Shape

RoundRectangleTool.Label = Rounded Rectangle
RoundRectangleTool.Description = Create a Rounded Rectangle Shape

HexagonTool.Label = Hexagon
HexagonTool.Description = Create a Hexagon Shape

OctagonTool.Label = Octagon
OctagonTool.Description = Create an Octagon Shape

PentagonTool.Label = Pentagon
PentagonTool.Description = Create a Pentagon Shape

DiamondTool.Label = Diamond
DiamondTool.Description = Create a Diamond Shape

CylinderTool.Label = Cylinder
CylinderTool.Description = Create a Cylinder Shape

PolygonTool.Label = Polygon
PolygonTool.Description = Create a Polygon Shape
