# Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, 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 - initial API and implementation
#   Kenn Hussey (Embarcadero Technologies) - 227392, 226178, 226101, 204200
#
# $Id: plugin.properties,v 1.16 2008/05/06 21:42:18 khussey Exp $

pluginName = UML2 UML Editor
providerName = Eclipse.org

_UI_UMLEditor_menu = &UML Editor

_UI_CreateChild_menu_item = &New Child
_UI_CreateSibling_menu_item = N&ew Sibling

_UI_ShowPropertiesView_menu_item = Show &Properties View
_UI_RefreshViewer_menu_item = &Refresh

_UI_SelectionPage_label = Selection
_UI_ParentPage_label = Parent
_UI_ListPage_label = List
_UI_TreePage_label = Tree
_UI_TablePage_label = Table
_UI_TreeWithColumnsPage_label = Tree with Columns
_UI_ObjectColumn_label = Object
_UI_SelfColumn_label = Self

_UI_NoObjectSelected = Selected Nothing
_UI_SingleObjectSelected = Selected Object: {0}
_UI_MultiObjectSelected = Selected {0} Objects

_UI_OpenEditorError_label = Open Editor

_UI_Wizard_category = Example EMF Model Creation Wizards

_UI_UMLModelWizard_label = UML Model
_UI_UMLModelWizard_description = Create a new UML model

_UI_UMLEditor_label = UML Model Editor

_UI_UMLEditorFilenameDefaultBase = My

_UI_Wizard_label = New

_WARN_FilenameExtension = The file name must end in ".{0}"

_UI_ModelObject = Model Object
_UI_XMLEncoding = XML Encoding

# These are the XML encodings that will be presented in the new model wizard.
# The translated version of this property should include the encodings popular in the locale.
# The first one listed here will be the default, so please list the most popular choice first.
_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1

_UI_Wizard_initial_object_description = Select a model object to create

_UI_FileConflict_label = File Conflict
_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?

_UI_ElementMenu_label = &Element
_UI_PackageMenu_label = P&ackage
_UI_ProfileMenu_label = Pr&ofile
_UI_StereotypeMenu_label = &Stereotype

_UI_ApplyStereotypeAction_label = &Apply Stereotype...
_UI_DestroyElementAction_label = &Destroy
_UI_UnapplyStereotypeAction_label = &Unapply Stereotype...

_UI_ApplyProfileAction_label = &Apply Profile...
_UI_ImportPrimitiveTypeAction_label = &Import Primitive Type...
_UI_MergePackageAction_label = &Merge...
_UI_UnapplyProfileAction_label = &Unapply Profile...

_UI_DefineProfileAction_label = &Define
_UI_ReferenceMetaclassAction_label = Reference Meta&class...
_UI_ReferenceMetamodelAction_label = Reference Meta&model...

_UI_CreateExtensionAction_label = &Create Extension...

_UI_ApplyStereotypeActionCommand_label = Apply Stereotype(s)
_UI_DestroyElementActionCommand_label = Destroy ''{0}''
_UI_UnapplyStereotypeActionCommand_label = Unapply Stereotype(s)

_UI_ApplyProfileActionCommand_label = Apply Profile(s)
_UI_ImportPrimitiveTypeActionCommand_label = Import Primitive Type(s)
_UI_MergePackageActionCommand_label = Merge Package ''{0}''
_UI_UnapplyProfileActionCommand_label = Unapply Profile(s)

_UI_DefineProfileActionCommand_label = Define ''{0}''
_UI_ReferenceMetaclassActionCommand_label = Reference Metaclass(es)
_UI_ReferenceMetamodelActionCommand_label = Reference Metamodel(s)

_UI_CreateExtensionActionCommand_label = Create Extension(s)

_UI_MergingPackage_message = Merging package ''{0}''...

_UI_DiagnosticOK_message = The operation was successful.
_UI_DiagnosticProblems_message = Problems were encountered.

_UI_OptionsDialog_message = Please choose options.

_UI_DifferentPropertyStaticity_label = Different Property Staticity
_UI_DifferentPropertyUniqueness_label = Different Property Uniqueness
_UI_EmptyUnions_label = Empty Unions
_UI_ImplicitRedefinitions_label = Implicit Redefinitions
_UI_InvalidRedefinitions_label = Invalid Redefinitions
_UI_InvalidSubsets_label = Invalid Subsets
_UI_AssociationSpecializations_label = Association Specializations
_UI_RedundantGeneralizations_label = Redundant Generalizations
_UI_Capabilities_label = Capabilities

_UI_UMLEditorDiagnostic_marker = UML Problem
_UI_CreateModelError_message = Problems encountered in file "{0}"

_UI_ImportTypeAction_label = &Import Type...
_UI_ImportTypeActionCommand_label = Import Type(s)

_UI_DefiningProfile_message = Defining profile ''{0}''...

_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}

_UI_Save_All_Resources_As = Save all ''.{0}'' resources with new file extension of ''.{1}''?

# START NON-TRANSLATABLE
_UI_UMLEditorFilenameExtensions = uml
# END NON-TRANSLATABLE
