#
# /*******************************************************************
#  * Copyright (c) 2006, 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 v1.0
#  * which accompanies this distribution, and is available at
#  * http://www.eclipse.org/legal/epl-v10.html
#  *
#  * Contributors:
#  *     IBM Corporation - initial API and implementation
#  ******************************************************************/

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================
# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================

pluginName = STEM UI Graph Editor

providerName = Eclipse.org


_UI_STEM_Command_Display = Display
_UI_STEM_Command_DisplayTT = Open graph view and modify nodes

_UI_STEM_Command_DisplayCanonical = Display canonical graph
_UI_STEM_Command_DisplayCanonicalTT = Open graph view and modify nodes