###############################################################################
# Copyright (c) 2006, 2009 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
###############################################################################

pluginName = Tabbed Properties View
providerName = Eclipse.org

_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_Arena_type = Arena
_UI_Defence_type = Defence
_UI_Forward_type = Forward
_UI_Goalie_type = Goalie
_UI_GoalieStats_type = Goalie Stats
_UI_HockeyleagueObject_type = Object
_UI_League_type = League
_UI_Player_type = Player
_UI_PlayerStats_type = Player Stats
_UI_Team_type = Team
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_Arena_address_feature = Address
_UI_Arena_capacity_feature = Capacity
_UI_Defence_position_feature = Position
_UI_Defence_playerStats_feature = Player Stats
_UI_Forward_position_feature = Position
_UI_Forward_playerStats_feature = Player Stats
_UI_Goalie_goalieStats_feature = Goalie Stats
_UI_GoalieStats_year_feature = Year
_UI_GoalieStats_team_feature = Team
_UI_GoalieStats_gamesPlayedIn_feature = Games Played In
_UI_GoalieStats_minutesPlayedIn_feature = Minutes Played In
_UI_GoalieStats_goalsAgainstAverage_feature = Goals Against Average
_UI_GoalieStats_wins_feature = Wins
_UI_GoalieStats_losses_feature = Losses
_UI_GoalieStats_ties_feature = Ties
_UI_GoalieStats_emptyNetGoals_feature = Empty Net Goals
_UI_GoalieStats_shutouts_feature = Shutouts
_UI_GoalieStats_goalsAgainst_feature = Goals Against
_UI_GoalieStats_saves_feature = Saves
_UI_GoalieStats_penaltyMinutes_feature = Penalty Minutes
_UI_GoalieStats_goals_feature = Goals
_UI_GoalieStats_assists_feature = Assists
_UI_GoalieStats_points_feature = Points
_UI_HockeyleagueObject_name_feature = Name
_UI_League_headoffice_feature = Headoffice
_UI_League_teams_feature = Teams
_UI_Player_birthplace_feature = Birthplace
_UI_Player_number_feature = Number
_UI_Player_heightMesurement_feature = Height Mesurement
_UI_Player_heightValue_feature = Height Value
_UI_Player_weightMesurement_feature = Weight Mesurement
_UI_Player_weightValue_feature = Weight Value
_UI_Player_shot_feature = Shot
_UI_Player_birthdate_feature = Birthdate
_UI_PlayerStats_year_feature = Year
_UI_PlayerStats_team_feature = Team
_UI_PlayerStats_gamesPlayedIn_feature = Games Played In
_UI_PlayerStats_goals_feature = Goals
_UI_PlayerStats_assists_feature = Assists
_UI_PlayerStats_points_feature = Points
_UI_PlayerStats_plusMinus_feature = Plus Minus
_UI_PlayerStats_penaltyMinutes_feature = Penalty Minutes
_UI_PlayerStats_powerPlayGoals_feature = Power Play Goals
_UI_PlayerStats_shortHandedGoals_feature = Short Handed Goals
_UI_PlayerStats_gameWinningGoals_feature = Game Winning Goals
_UI_PlayerStats_shots_feature = Shots
_UI_PlayerStats_shotPercentage_feature = Shot Percentage
_UI_Team_forwards_feature = Forwards
_UI_Team_defencemen_feature = Defencemen
_UI_Team_goalies_feature = Goalies
_UI_Team_arena_feature = Arena
_UI_Unknown_feature = Unspecified

_UI_DefencePositionKind_left_defence_literal = left_defence
_UI_DefencePositionKind_right_defence_literal = right_defence
_UI_ForwardPositionKind_left_wing_literal = left_wing
_UI_ForwardPositionKind_right_wing_literal = right_wing
_UI_ForwardPositionKind_center_literal = center
_UI_HeightKind_inches_literal = inches
_UI_HeightKind_centimeters_literal = centimeters
_UI_ShotKind_left_literal = left
_UI_ShotKind_right_literal = right
_UI_WeightKind_pounds_literal = pounds
_UI_WeightKind_kilograms_literal = kilograms

_UI_HockeyleagueEditor_menu = &Hockeyleague 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_CreateModelError_message = Problems encountered in file "{0}"

_UI_HockeyleagueModelWizard_label = Hockeyleague Model
_UI_HockeyleagueModelWizard_description = Create a new Hockeyleague model

_UI_HockeyleagueEditor_label = Hockeyleague Model Editor

_UI_HockeyleagueEditorFilenameDefaultBase = My
_UI_HockeyleagueEditorFilenameExtensions = hockeyleague

_UI_Wizard_label = New

_WARN_FilenameExtension = The file name must end in ''.{0}''
_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}

_UI_ModelObject = &Model Object
_UI_XMLEncoding = &XML Encoding
_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?
