# Copyright (c) 2014-2016 Eike Stepper (Loehne, Germany) 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:
#    Eike Stepper - initial API and implementation

pluginName = Oomph Setup Editor
providerName = Eclipse Oomph Project

category.oomphSetup.name = Oomph Setup

command.openEditorDropdown.name = Open Setup Editor
command.performDropdown.name = Perform Dropdown
command.perform.name = Perform Setup Tasks
command.performStartup.name = Perform Setup Tasks (Startup)
command.importProjects.name = Import Projects
command.synchronizePreferences.name = Synchronize Preferences
command.openDiscoveredType.name = Open Discovered Type
command.openLog.name = Open Setup Log
command.refreshCache.name = Refresh Remote Cache

toolbarMenu.toolbar.label = Setup
toolbarMenu.performDropdown.tooltip = Perform Setup Tasks...
toolbarMenu.openEditorDropdown.tooltip = Open User

statusMenu.toolbar.label = Status

performMenu.perform.label = Perform Setup Tasks...
performMenu.performStartup.label = Perform Setup Tasks (Startup)...
performMenu.importProjects.label = Import Projects...
performMenu.synchronizePreferences.label = Synchronize Preferences...
performMenu.openLog.label = Open Setup Log
performMenu.refreshCache.label = Refresh Remote Cache

helpMenu.perform.label = Perform Setup Tasks...

navigateMenu.openDiscoveredType.label = Open Discovered Type...
navigateMenu.openSetup.label = Open Setup
navigateMenu.openLog.label = Open Setup Log

_UI_SetupEditor_menu = &Setup Editor

_UI_CreateChild_menu_item = &New Child
_UI_CreateSibling_menu_item = N&ew Sibling
_UI_AdditionalTasks_menu_item = Additional &Tasks
_UI_AdditionalElements_menu_item = Additional E&lements

_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_OomphWizard_category = Oomph

_UI_CreateModelError_message = Problems encountered in file "{0}"
_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 = Choose a template and enter the required values.
_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_SetupEditor_label = Setup Editor
_UI_SetupEditorFilenameDefaultBase = MyExample
_UI_SetupEditorFilenameExtensions = setup

_UI_SetupModelWizard_label = Setup Project Model
_UI_SetupModelWizard_description = Create a new project setup model with the camel case name of the project

_UI_SetupModelWizard_label2 = Setup Product Model
_UI_SetupModelWizard_description2 = Create a new product setup model with the camel case name of the product

_UI_SetupModelWizard_label3 = Setup Configuration Model
_UI_SetupModelWizard_description3 = Create a new configuration setup model with the camel case name of the configuration

_UI_SetupModelWizard_label4 = Setup Index Model
_UI_SetupModelWizard_description4 = Create a new index setup model

_UI_SetupModelWizard_label5 = Setup Product Catalog Model
_UI_SetupModelWizard_description5 = Create a new product catalog setup model

_UI_SetupModelWizard_label6 = Setup Project Catalog Model
_UI_SetupModelWizard_description6 = Create a new project catalog setup model

_UI_SetupModelWizard_label7 = Setup Macro Model
_UI_SetupModelWizard_description7 = Create a new macro setup model with the camel case name of the macro

_UI_Donate_label = Donate
_UI_Donate_description = Donate to the development of the Eclipse IDE


