# Copyright (c) 2005, 2009 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.18 2009/04/30 21:15:28 jbruck Exp $

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 UML Editor
providerName = Eclipse Modeling Project

_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
