# Copyright (c) 2005, 2018 IBM Corporation, Embarcadero Technologies, CEA, and others.
# All rights reserved.   This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors: 
#   IBM - initial API and implementation
#   Kenn Hussey (Embarcadero Technologies) - 208016, 204200
#   Sebastien Revol (CEA) - 529044
#   Kenn Hussey - 529044, 535301
#

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 Ecore Code Generation UI
providerName = Eclipse Modeling Project

_UI_PropertyDescriptor_description = The {0} of the {1}

_UI_GenCacheAdapterScope_None_literal = None
_UI_GenCacheAdapterScope_Global_literal = Global
_UI_GenCacheAdapterScope_Resource_literal = Resource
_UI_GenCacheAdapterScope_ResourceSet_literal = Resource Set

_UI_Unknown_datatype= Value

_UI_GenModel_cacheAdapterSupport_feature = Cache Adapter Support
_UI_GenModel_editTestsDirectory_feature = Edit Tests Directory
_UI_GenModel_editTestSuiteClass_feature = Edit Test Suite Class
_UI_GenModel_factoryMethods_feature = Factory Methods
_UI_GenModel_invariantPrefix_feature = Invariant Prefix
_UI_GenModel_operationsClasses_feature = Operations Classes
_UI_GenModel_pluralizedGetters_feature = Pluralized Getters
_UI_GenModel_safeStrings_feature = Safe Strings
_UI_GenModel_virtualImplementations_feature = Virtual Implementations

_UI_GenPackage_operationsPackage_feature = Operations Package
_UI_GenPackage_resourceInterfaces_feature = Resource Interfaces

_UI_GenFeature_key_feature = Key

_UI_GenOperation_cacheAdapterScope_feature = Cache Adapter Scope

_UI_Unknown_feature = Unspecified

_UI_UML2PropertyCategory = UML2

#_UI_GenBase_type = Gen Base
#_UI_GenClass_type = Gen Class
#_UI_GenClassifier_type = Gen Classifier
#_UI_GenDataType_type = Gen Data Type
#_UI_GenEnum_type = Gen Enum
#_UI_GenEnumLiteral_type = Gen Enum Literal
#_UI_GenFeature_type = Gen Feature
#_UI_GenModel_type = Gen Model
#_UI_GenOperation_type = Gen Operation
#_UI_GenPackage_type = Gen Package
#_UI_GenParameter_type = Gen Parameter
#_UI_GenTypedElement_type = Gen Typed Element
#_UI_Unknown_type = Object

_UI_GenFeature_pluralizationException_feature = Pluralization Exception

_UI_GenModel_operationsFolder_feature = Operations Folder
_UI_GenModel_operationsFolder_description = The source folder for Operations classes (relative to the model project directory)
