###############################################################################
# <copyright>
#
# Copyright (c) 2013, 2013 SAP AG.
# 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:
#    SAP AG - initial API, implementation and documentation
#
# </copyright>
#
###############################################################################

pluginName = FMC Editor
providerName = Eclipse Modeling Project

_UI_FmcEditor_menu = &Fmc 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_FmcModelWizard_label = Fmc Model
_UI_FmcModelWizard_description = Create a new Fmc model

_UI_FmcEditor_label = Fmc Model Editor

_UI_FmcEditorFilenameDefaultBase = My
_UI_FmcEditorFilenameExtensions = block

_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 = Specify a file name and 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_FMCEditorAdvisor_ActionSet_label = FMC Action Set
_UI_Perspective_label = FMC

_UI_Browse_label = &Browse...
_UI_File_label = &File
_UI_Question_title = Question
_WARN_FileConflict = The file "{0}" already exists.  Do you want to replace the existing file?
_UI_Error_title = Error
_WARN_No_Editor = There is no editor registered for the file "{0}".

_UI_Application_title = FMC Application
_UI_Menu_File_label = &File
_UI_Menu_New_label = &New
_UI_Menu_Open_label = &Open...
_UI_Menu_Open_description = Opens a model object file
_UI_Menu_OpenURI_label = &Open URI...
_UI_Menu_OpenURI_description = Opens a model object loading it from a URI
_UI_Menu_Edit_label = &Edit
_UI_Menu_Window_label = &Window
_UI_Menu_Help_label = &Help
_UI_Menu_About_label = FMC &About...
_UI_About_title = FMC Application
_UI_About_text = FMC Application about box goes here.

_UI_FmcModelWizard_ActionSet_label = Fmc Model Action Set

