# Copyright (c) 2011-2014 EclipseSource Muenchen GmbH 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:
# EclipseSource - Generated code

pluginName = University Edit Support
providerName = Eclipse Modeling Project

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.

_UI_PropertyDescriptor_description = The {0} of the {1}

_UI_CourseCatalog_type = Course Catalog
_UI_Course_type = Course
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_CourseCatalog_courses_feature = Courses
_UI_Course_id_feature = Id
_UI_Course_name_feature = Name
_UI_Unknown_feature = Unspecified

_UI_Course_etcs_feature = Etcs
_UI_Staff_type = Staff
_UI_Professor_type = Professor
_UI_Assistant_type = Assistant
_UI_Person_type = Person
_UI_Staff_professors_feature = Professors
_UI_Staff_assistants_feature = Assistants
_UI_Staff_staff_feature = Staff
_UI_Person_name_feature = Name
_UI_Address_type = Address
_UI_Person_addresses_feature = Addresses
