/*******************************************************************************
 * Copyright (c) 2010-2016 BestSolution.at 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:
 *     Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
 *     Marco Descher <marco@descher.at> - Bug 395982, 396975, 426653
 *     Steven Spungin <steven@spungin.tv> - Bug 431735, 430717
 *     Jonas Helming <jhelming@eclipsesource.com - Bug 444340
 *     Olivier Prouvost <olivier.prouvost@opcoach.com> - Bug 466731
 *     Patrik Suzzi <psuzzi@gmail.com> - Bug 509606
 ******************************************************************************/
package org.eclipse.e4.tools.emf.ui.internal;

public class Messages {

	public String PartEditor_Part;
	public String XmiTab_TypeTextToSearch;
	public String ModelEditor_Import3x;
	public String E4StringPickList_Replace;
	public String E4StringPickList_NewValue;
	public String E4StringPickList_ToolTipNewValue;
	public String MarkDuplicateAttributesHandler_MarkDuplicates;
	public String MarkDuplicateAttributesHandler_SelectAnAttributeToMarkeDuplicate;
	public String VCommandEditor_ImportCommands;
	public String VPartDescriptor_Editors;
	public String VPartDescriptor_ViewAsCompatibilityView;
	public String VPartDescriptor_Views;
	public String VWindowSharedElementsEditor_Editors;
	public String VWindowSharedElementsEditor_ViewAsCompatibilityView;
	public String VWindowSharedElementsEditor_Views;

	public String ApplicationEditor_BindingTable;
	public String ApplicationEditor_Class;
	public String ApplicationEditor_Command_Slash_Handler;
	public String ApplicationEditor_HandledMenuItem;
	public String ApplicationEditor_HandledToolbarItem;
	public String ApplicationEditor_HandlerAndCommand;
	public String ApplicationEditor_Icon;
	public String ApplicationEditor_Id;
	public String ApplicationEditor_InertInfosForAHandledMenuItem;
	public String ApplicationEditor_InsertInfosForAToolbarItem;
	public String ApplicationEditor_InsertInfosForCommandAndHandler;
	public String ApplicationEditor_InsertInfosForKeybinding;
	public String ApplicationEditor_Keybinding;
	public String ApplicationEditor_Menu;
	public String ApplicationEditor_Name;
	public String ApplicationEditor_Parent;
	public String ApplicationEditor_Sequence;
	public String ApplicationEditor_Toolbar;
	public String ApplicationEditor_Type;
	public String PartStackEditor_CompositePart;
	public String PartStackEditor_Editors;
	public String PartStackEditor_Part;
	public String PartStackEditor_Placeholder;
	public String PartStackEditor_Views;

	public static String FilteredContributionDialog_SearchWasCancelled;
	public static String FilteredContributionDialog_MoreThan;
	public static String FilteredContributionDialog_itemsWereFound;
	public static String FilteredContributionDialog_ProviderInitializing;
	public static String FilteredContributionDialog_ProviderWasCancelled;
	public static String FilteredContributionDialog_ClearCache;
	public static String FilteredContributionDialog_ContributionSearch;
	public static String FilteredContributionDialog_Scope;
	public static String FilteredContributionDialog_ProjectOnly;
	public static String FilteredContributionDialog_ProjectAndReferences;
	public static String FilteredContributionDialog_Workspace;
	public static String FilteredContributionDialog_TargetPlatform;
	public static String FilteredContributionDialog_ScopeFilter;
	public static String FilteredContributionDialog_None;
	public static String FilteredContributionDialog_Package;
	public static String FilteredContributionDialog_Location;
	public static String FilteredContributionDialog_NonBundles;
	public static String FilteredContributionDialog_Select;
	public static String FilteredContributionDialog_SelectTheBundle;
	public static String FilteredContributionDialog_SelectThePackage;
	public static String FilteredContributionDialog_PackageFilter;
	public static String FilteredContributionDialog_SelectTheLocation;
	public static String FilteredContributionDialog_LocationFilter;
	public static String FilteredContributionDialog_Java;
	public static String FilteredContributionDialog_ResourceIsNotContainedInABundle;
	public static String FilteredContributionDialog_ResourceIsNotReferencedByThisBundle;
	public static String FilteredContributionDialog_Bundle;
	public static String FilteredContributionDialog_BundleFilter;
	public static String FilteredContributionDialog_Searching;
	public String AreaIconDialogEditor_Icon;
	public String AreaIconDialogEditor_Enter_Text;
	public String AbstractIconDialogWithHardcodedScope_Project;
	public String AbstractIconDialogWithHardcodedScope_Workspace;
	public String AbstractIconDialog_Icon_Name;
	public String AbstractIconDialog_Type_To_Start_Search;
	public static String ContributionURIValidator_Malformed_URI;
	public static String ContributionURIValidator_No_Empty_URI;
	public static String ContributionURIValidator_URI_starts_with_platform;

	public String ModelTooling_Empty_Warning;
	public String ModelTooling_Common_Up;
	public String ModelTooling_Common_Down;
	public String ModelTooling_Common_AddEllipsis;
	public String ModelTooling_Common_Add;
	public String ModelTooling_Common_Remove;
	public String ModelTooling_Common_Replace;
	public String ModelTooling_Common_Id;
	public String ModelTooling_Common_RefId;
	public String ModelTooling_Common_FindEllipsis;
	public String ModelTooling_Common_TabDefault;
	public String ModelTooling_Common_TabSupplementary;
	public String ModelEditor_AddChild;
	public String ModelEditor_Move;
	public String ModelTooling_Common_RuntimeContributionInstance;
	public String ModelTooling_Common_RuntimeWidgetTree;

	public String ModelTooling_UIElement_ToBeRendered;
	public String ModelTooling_UIElement_Visible;
	public String ModelTooling_UIElement_VisibleWhen;
	public String ModelTooling_UIElement_AccessibilityPhrase;

	public String ModelTooling_Context_Variables;
	public String ModelTooling_Context_Variables_Tooltip;
	public String ModelTooling_Context_Properties;

	public String ModelTooling_ApplicationElement_Tags;
	public String ModelTooling_Contribution_PersistedState;

	public String AbstractCommandSelectionDialog_Label_CommandId;

	public String ApplicationEditor_Label;
	public String ApplicationEditor_Description;
	public String ApplicationEditor_Handlers;
	public String ApplicationEditor_PartDescriptors;
	public String ApplicationEditor_BindingTables;
	public String ApplicationEditor_Commands;
	public String ApplicationEditor_Windows;
	public String ApplicationEditor_Addons;
	public String ApplicationEditor_MenuContributions;
	public String ApplicationEditor_Snippets;
	public String ApplicationEditor_ToolBarContributions;
	public String ApplicationEditor_TrimContributions;
	public String ApplicationEditor_RootContexts;
	public String ApplicationEditor_BindingContexts;
	public String ApplicationEditor_Categories;

	public String BindingTableEditor_Label;
	public String BindingTableEditor_Description;
	public String BindingTableEditor_ContextId;
	public String BindingTableEditor_Keybindings;
	public String BindingTableEditor_KeySequence;
	public String BindingTableEditor_Command;
	public String BindingTableEditor_AddKeyBinding;

	public String CommandEditor_Label;
	public String CommandEditor_Description;
	public String CommandEditor_Name;
	public String CommandEditor_LabelDescription;
	public String CommandEditor_Parameters;
	public String CommandEditor_ParameterName;
	public String CommandEditor_ParameterTypeId;
	public String CommandEditor_ParameterOptional;
	public String CommandEditor_ParameterOptional_No;
	public String CommandEditor_ParameterOptional_Yes;
	public String CommandEditor_ParameterId;
	public String CommandEditor_Category;
	public String CommandEditor_AddCommandParameter;
	public String CommandEditor_NewCommandParameter;

	public String DirectMenuItemEditor_Label;
	public String DirectMenuItemEditor_Description;
	public String DirectMenuItemEditor_ClassURI;

	public String ControlFactory_Key;
	public String ControlFactory_Value;
	public String ControlFactory_KeyValueShellTitle;

	public String DirectToolItemEditor_ClassURI;
	public String DirectToolItemEditor_Label;
	public String DirectToolItemEditor_Description;

	public String HandledMenuItemEditor_Label;
	public String HandledMenuItemEditor_Description;
	public String HandledMenuItemEditor_Command;
	public String HandledMenuItemEditor_Parameters;
	public String HandledMenuItemEditor_Tag;
	public String HandledMenuItemEditor_Value;

	public String DynamicMenuContributionEditor_Label;
	public String DynamicMenuContributionEditor_Description;

	public String DynamicMenuContributionEditor_ClassURI;
	public String DynamicMenuContributionEditor_LabelLabel;

	public String HandledToolItemEditor_Command;
	public String HandledToolItemEditor_Parameters;
	public String HandledToolItemEditor_ParametersName;
	public String HandledToolItemEditor_ParametersValue;
	public String HandledToolItemEditor_Label;
	public String HandledToolItemEditor_Description;

	public String HandlerEditor_Label;
	public String HandlerEditor_Description;
	public String HandlerEditor_Command;
	public String HandlerEditor_ClassURI;

	public String KeyBindingEditor_Label;
	public String KeyBindingEditor_Description;
	public String KeyBindingEditor_Sequence;
	public String KeyBindingEditor_Command;
	public String KeyBindingEditor_Parameters;
	public String KeyBindingEditor_SequenceNotComplete;
	public String KeyBindingEditor_SequenceEmpty;
	public String KeyBindingEditor_AddParameter;

	public String MenuEditor_Label;
	public String MenuEditor_Label_ViewMenu;
	public String MenuEditor_Description;
	public String MenuEditor_MenuItems;
	public String MenuEditor_MenuItemType;
	public String MenuEditor_MenuItemItemType;
	public String MenuEditor_HandledMenuItem;
	public String MenuEditor_DynamicMenuContribution;
	public String MenuEditor_Separator;
	public String MenuEditor_Menu;
	public String MenuEditor_DirectMenuItem;
	public String MenuEditor_LabelLabel;
	public String MenuEditor_Tooltip;
	public String MenuEditor_IconURI;
	public String MenuEditor_Children;
	public String MenuEditor_Mnemonics;
	public String MenuEditor_AddHandledMenuItem;
	public String MenuEditor_AddMenu;
	public String MenuEditor_AddDirectMenuItem;
	public String MenuEditor_AddSeparator;
	public String MenuEditor_AddDynamicMenuContribution;
	public String MenuEditor_AddCoreExpression;

	public String MenuItemEditor_Type;
	public String MenuItemEditor_Label;
	public String MenuItemEditor_Tooltip;
	public String MenuItemEditor_IconURI;
	public String MenuEditor_MainMenu;
	public String MenuItemEditor_Enabled;
	public String MenuItemEditor_Selected;
	public String MenuItemEditor_Mnemonics;
	public String MenuItemEditor_NoExpression;
	public String MenuItemEditor_AddCoreExpression;

	public String MenuSeparatorEditor_Label;

	public String PartDescriptorEditor_Label;
	public String PartDescriptorEditor_Descriptor;
	public String PartDescriptorEditor_LabelLabel;
	public String PartDescriptorEditor_Tooltip;
	public String PartDescriptorEditor_IconURI;
	public String PartDescriptorEditor_ClassURI;
	public String PartDescriptorEditor_Closeable;
	public String PartDescriptorEditor_Multiple;
	public String PartDescriptorEditor_Category;
	public String PartDescriptorEditor_Variables;
	public String PartDescriptorEditor_Properties;
	public String PartDescriptorEditor_PropertiesKey;
	public String PartDescriptorEditor_PropertiesValue;
	public String PartDescriptorEditor_Menus;
	public String PartDescriptorEditor_Handlers;
	public String PartDescriptorEditor_ContainerData;

	public String PartEditor_Label;
	public String PartEditor_Description;
	public String PartEditor_LabelLabel;
	public String PartEditor_Tooltip;
	public String PartEditor_IconURI;
	public String PartEditor_IconURI_Tooltip;
	public String PartEditor_ClassURI;
	public String PartEditor_Closeable;
	public String PartEditor_Closeable_Tooltip;
	public String PartEditor_Menus;
	public String PartEditor_Handlers;
	public String PartEditor_ContainerData;
	public String PartEditor_ToolBar;
	public String PartEditor_BindingContexts;

	public String PartSashContainerEditor_Label;
	public String PartSashContainerEditor_Description;
	public String PartSashContainerEditor_Orientation;
	public String PartSashContainerEditor_Vertical;
	public String PartSashContainerEditor_Horizontal;
	public String PartSashContainerEditor_SelectedElement;
	public String PartSashContainerEditor_Controls;
	public String PartSashContainerEditor_ContainerData;
	public String PartSashContainerEditor_AddPartSashContainer;
	public String PartSashContainerEditor_AddPartStack;
	public String PartSashContainerEditor_AddPart;
	public String PartSashContainerEditor_AddArea;
	public String PartSashContainerEditor_AddPlaceholder;

	public String PartStackEditor_Label;
	public String PartStackEditor_Description;
	public String PartStackEditor_SelectedElement;
	public String PartStackEditor_Parts;
	public String PartStackEditor_ContainerData;
	public String PartStackEditor_AddPart;
	public String PartStackEditor_AddPlaceholder;
	public String PartStackEditor_AddCompositePart;

	public String PerspectiveEditor_Label;
	public String PerspectiveEditor_Description;
	public String PerspectiveEditor_LabelLabel;
	public String PerspectiveEditor_SelectedElement;
	public String PerspectiveEditor_Tooltip;
	public String PerspectiveEditor_IconURI;
	public String PerspectiveEditor_Controls;
	public String PerspectiveEditor_AddPartSashContainer;
	public String PerspectiveEditor_AddPartStack;
	public String PerspectiveEditor_AddPart;
	public String PerspectiveEditor_AddArea;
	public String PerspectiveEditor_AddPlaceholder;

	public String PerspectiveStackEditor_Perspectives;
	public String PerspectiveStackEditor_Label;
	public String PerspectiveStackEditor_Description;
	public String PerspectiveStackEditor_SelectedElement;
	public String PerspectiveStackEditor_AddPerspective;

	public String PlaceholderEditor_Label;
	public String PlaceholderEditor_Descriptor;
	public String PlaceholderEditor_Reference;
	public String PlaceholderEditor_Closeable;
	public String PlaceholderEditor_ContainerData;

	public String ToolBarEditor_Label;
	public String ToolBarEditor_Description;
	public String ToolBarEditor_ToolbarItems;
	public String ToolBarEditor_ToolbarItemsType;
	public String ToolBarEditor_ToolbarItemsItemType;
	public String ToolBarEditor_HandledToolItem;
	public String ToolBarEditor_DirectToolItem;
	public String ToolBarEditor_ToolControl;
	public String ToolBarEditor_Separator;
	public String ToolBarEditor_AddHandledToolItem;
	public String ToolBarEditor_AddDirectToolItem;
	public String ToolBarEditor_AddToolControl;
	public String ToolBarEditor_AddToolBarSeparator;

	public String ToolBarSeparatorEditor_Label;

	public String ToolControlEditor_Label;
	public String ToolControlEditor_Description;
	public String ToolControlEditor_ClassURI;

	public String VBindingTableEditor_Label;
	public String VBindingTableEditor_Description;
	public String VBindingTableEditor_Contexts;
	public String VBindingTableEditor_Name;
	public String VBindingTableEditor_LabelDescription;
	public String VBindingTableEditor_BindingTables;
	public String VBindingTableEditor_AddBindingTable;

	public String AddonsEditor_ClassURI;
	public String AddonsEditor_TreeLabel;
	public String AddonsEditor_TreeLabelDescription;
	public String AddonsEditor_Tags;

	public String ContributionClassDialog_DialogMessage;
	public String ContributionClassDialog_DialogTitle;
	public String ContributionClassDialog_Label_Classname;
	public String ContributionClassDialog_FilterText_Message;
	public String ContributionClassDialog_ShellTitle;

	public String MenuContributionEditor_MenuItems;
	public String MenuContributionEditor_MenuItemType;
	public String MenuContributionEditor_MenuItemItemType;
	public String MenuContributionEditor_HandledMenuItem;
	public String MenuContributionEditor_DynamicMenuContribution;
	public String MenuContributionEditor_Separator;
	public String MenuContributionEditor_Menu;
	public String MenuContributionEditor_DirectMenuItem;
	public String MenuContributionEditor_ParentId;
	public String MenuContributionEditor_Position;
	public String MenuContributionEditor_TreeLabel;
	public String MenuContributionEditor_TreeLabelDescription;

	public String ModelFragmentsEditor_ModelFragments;
	public String ModelFragmentsEditor_Label;
	public String ModelFragmentsEditor_Description;
	public String ModelFragmentsEditor_Imports;

	public String StringModelFragment_Label;
	public String StringModelFragment_LabelFor;
	public String StringModelFragment_Description;
	public String StringModelFragment_Featurename;
	public String StringModelFragment_FeaturenameTooltip;
	public String StringModelFragment_ParentId;
	public String StringModelFragment_ParentIdTooltip;
	public String StringModelFragment_PositionInList;
	public String StringModelFragment_Elements;
	public String StringModelFragment_Ctrl_Space;

	public String FeatureSelectionDialog_Filter;
	public String FeatureSelectionDialog_ShellTitle;
	public String FeatureSelectionDialog_DialogTitle;
	public String FeatureSelectionDialog_DialogMessage;

	public String CategoryEditor_TreeLabel;
	public String CategoryEditor_TreeLabelDescriptor;
	public String CategoryEditor_Name;
	public String CategoryEditor_Description;
	public String CategoryEditor_Tags;

	public String CommandCategorySelectionDialog_LabelCategoryId;

	public String BindingContextSelectionDialog_LabelContextId;

	public String ComponentLabelProvider_invisible;
	public String ComponentLabelProvider_notrendered;

	public String BindingContextEditor_TreeLabel;
	public String BindingContextEditor_TreeLabelDescription;
	public String BindingContextEditor_Name;
	public String BindingContextEditor_Description;
	public String BindingContextEditor_Subcontexts;
	public String BindingContextEditor_AddContext;
	public String BindingContextEditor_NameWarning;

	public String CommandParameterEditor_TreeLabel;
	public String CommandParameterEditor_TreeLabelDescritpion;
	public String CommandParameterEditor_Name;
	public String CommandParameterEditor_TypeId;
	public String CommandParameterEditor_Optional;

	public String ParameterEditor_TreeLabel;
	public String ParameterEditor_TreeLabelDescription;
	public String ParameterEditor_Command_Parameter_ID;
	public String ParameterEditor_Value;

	public String ParameterIdSelectionDialog_ShellTitle;
	public String ParameterIdSelectionDialog_DialogTitle;
	public String ParameterIdSelectionDialog_DialogMessage;
	public String ParameterIdSelectionDialog_LabelText;

	public String PopupMenuEditor_TreeLabel;
	public String PopupMenuEditor_TreeLabelDescription;

	public String ToolBarContributionEditor_TreeLabel;
	public String ToolBarContributionEditor_TreeLabelDescription;

	public String ToolItemEditor_Type;
	public String ToolItemEditor_Label;
	public String ToolItemEditor_ToolTip;
	public String ToolItemEditor_IconURI;
	public String ToolItemEditor_Enabled;
	public String ToolItemEditor_Selected;
	public String ToolItemEditor_NoExpression;
	public String ToolItemEditor_Menu;

	public String TrimBarEditor_TreeLabel;
	public String TrimBarEditor_TreeLabelDescription;
	public String TrimBarEditor_Side;
	public String TrimBarEditor_Controls;
	public String TrimBarEditor_AddToolBar;
	public String TrimBarEditor_AddToolControl;

	public String TrimContributionEditor_TreeLabel;
	public String TrimContributionEditor_TreeLabelDescription;
	public String TrimContributionEditor_ParentId;
	public String TrimContributionEditor_Position;
	public String TrimContributionEditor_Controls;

	public String TrimmedWindowEditor_TrimBars;
	public String TrimmedWindowEditor_TreeLabel;

	public String WindowEditor_AddMainMenu;
	public String WindowEditor_TreeLabel;
	public String WindowEditor_TreeLabelDescription;

	public String WindowEditor_Bounds;
	public String WindowEditor_Label;
	public String WindowEditor_Tooltip;
	public String WindowEditor_IconURI;
	public String WindowEditor_MainMenu;
	public String WindowEditor_SelectedElement;
	public String WindowEditor_BindingContexts;
	public String WindowEditor_Handlers;
	public String WindowEditor_Windows;
	public String WindowEditor_Controls;
	public String WindowEditor_SharedElements;
	public String WindowEditor_Snippets;

	public String VApplicationAddons_AddAddon;
	public String VApplicationAddons_TreeLabel;
	public String VApplicationAddons_TreeLabelDescription;
	public String VApplicationAddons_Commands;

	public String VApplicationCategoriesEditor_TreeLabel;
	public String VApplicationCategoriesEditor_TreeLabelDescription;
	public String VApplicationCategoriesEditor_Categories;
	public String VApplicationCategoriesEditor_AddCategory;

	public String VCommandEditor_TreeLabel;
	public String VCommandEditor_TreeLabelDescription;
	public String VCommandEditor_Commands;
	public String VCommandEditor_AddCommand;

	public String VHandlerEditor_TreeLabel;
	public String VHandlerEditor_TreeLabelDescription;
	public String VHandlerEditor_Handlers;
	public String VHandlerEditor_AddHandler;

	public String VMenuContributionsEditor_TreeLabel;
	public String VMenuContributionsEditor_TreeLabelDescription;
	public String VMenuContributionsEditor_MenuContributions;
	public String VMenuContributionsEditor_AddMenuContribution;

	public String VMenuEditor_TreeLabel;
	public String VMenuEditor_TreeLabelDescription;
	public String VMenuEditor_Menus;
	public String VMenuEditor_AddMenuContribution;
	public String VMenuEditor_AddPopupMenuContribution;

	public String VModelFragmentsEditor_TreeLabel;
	public String VModelFragmentsEditor_TreeLabelDescription;
	public String VModelFragmentsEditor_Fragments;
	public String VModelFragmentsEditor_AddFragment;

	public String VModelImportsEditor_TreeLabel;
	public String VModelImportsEditor_TreeLabelDescription;
	public String VModelImportsEditor_Imports;

	public String VPartDescriptor_TreeLabel;
	public String VPartDescriptor_TreeLabelDescription;
	public String VPartDescriptor_Descriptors;
	public String VPartDescriptor_AddPartDescriptor;

	public String VSnippetsEditor_Snippets;

	public String VToolBarContributionsEditor_Contributions;
	public String VToolBarContributionsEditor_TreeLabelDescription;
	public String VToolBarContributionsEditor_TreeLabel;
	public String VToolBarContributionsEditor_AddToolBarContribution;

	public String VTrimContributionsEditor_TreeLabel;
	public String VTrimContributionsEditor_TreeLabelDescription;
	public String VTrimContributionsEditor_Contributions;
	public String VTrimContributionsEditor_AddTrimContribution;

	public String VWindowControlEditor_TreeLabel;
	public String VWindowControlEditor_TreeLabelDescription;
	public String VWindowControlEditor_Controls;
	public String VWindowControlEditor_AddPerspectiveStack;
	public String VWindowControlEditor_AddPartSashContainer;
	public String VWindowControlEditor_AddPartStack;
	public String VWindowControlEditor_AddPart;
	public String VWindowControlEditor_AddArea;

	public String VWindowEditor_TreeLabel;
	public String VWindowEditor_TreeLabelDescription;
	public String VWindowEditor_Windows;
	public String VWindowEditor_AddTrimmedWindow;
	public String VWindowEditor_AddWindow;

	public String VWindowSharedElementsEditor_TreeLabel;
	public String VWindowSharedElementsEditor_TreeLabelDescription;
	public String VWindowSharedElementsEditor_Controls;
	public String VWindowSharedElementsEditor_AddPartSashContainer;
	public String VWindowSharedElementsEditor_AddPart;

	public String VWindowTrimEditor_TreeLabel;
	public String VWindowTrimEditor_TreeLabelDescription;
	public String VWindowTrimEditor_Controls;
	public String VWindowTrimEditor_AddWindowTrim;

	public String AbstractIconDialog_IconName;
	public String AbstractIconDialog_all_workspace_bundles;
	public String AbstractIconDialog_current_project;
	public String AbstractIconDialog_scope;

	public static String AbstractIconDialogWithScopeAndFilter_details;
	public static String AbstractIconDialogWithScopeAndFilter_icon;
	public static String AbstractIconDialogWithScopeAndFilter_iconName;
	public static String AbstractIconDialogWithScopeAndFilter_maxDisplayedImageSize;
	public static String AbstractIconDialogWithScopeAndFilter_typeToStartSearch;

	public String BindingContextSelectionDialog_ShellTitle;
	public String BindingContextSelectionDialog_Title;
	public String BindingContextSelectionDialog_Message;
	public String BindingContextSelectionDialog_NoIdReference;

	public String CommandCategorySelectionDialog_ShellTitle;
	public String CommandCategorySelectionDialog_Title;
	public String CommandCategorySelectionDialog_Message;

	public String FindImportElementDialog_ShellTitle;
	public String FindImportElementDialog_Title;
	public String FindImportElementDialog_Message;
	public String FindImportElementDialog_Search;
	public String FindImportElementDialog_ClearCache;
	public String FindImportElementDialog_NoIdReference;
	public String FindImportElementDialog_noId;

	public String FindParentReferenceElementDialog_ShellTitle;
	public String FindParentReferenceElementDialog_Title;
	public String FindParentReferenceElementDialog_Message;
	public String FindParentReferenceElementDialog_ContainerType;
	public String FindParentReferenceElementDialog_Search;
	public String FindParentReferenceElementDialog_HelpTooltip;
	public String FindParentReferenceElementDialog_NoId;
	public String FindParentReferenceElementDialog_ClearCache;
	public String FindParentReferenceElementDialog_NoReferenceId;
	public String FindParentReferenceElementDialog_AnyApplication;

	public String HandledMenuItemCommandSelectionDialog_ShellTitle;
	public String HandledMenuItemCommandSelectionDialog_DialogTitle;
	public String HandledMenuItemCommandSelectionDialog_DialogMessage;

	public String HandledToolItemCommandSelectionDialog_ShellTitle;
	public String HandledToolItemCommandSelectionDialog_DialogTitle;
	public String HandledToolItemCommandSelectionDialog_DialogMessage;

	public String HandlerCommandSelectionDialog_ShellTitle;
	public String HandlerCommandSelectionDialog_DialogTitle;
	public String HandlerCommandSelectionDialog_DialogMessage;

	public String KeyBindingCommandSelectionDialog_ShellTitle;
	public String KeyBindingCommandSelectionDialog_DialogTitle;
	public String KeyBindingCommandSelectionDialog_DialogMessage;

	public String MenuIconDialogEditor_ShellTitle;
	public String MenuIconDialogEditor_DialogTitle;
	public String MenuIconDialogEditor_DialogMessage;

	public String MenuItemIconDialogEditor_ShellTitle;
	public String MenuItemIconDialogEditor_DialogTitle;
	public String MenuItemIconDialogEditor_DialogMessage;

	public String PartDescriptorIconDialogEditor_ShellTitle;
	public String PartDescriptorIconDialogEditor_DialogTitle;
	public String PartDescriptorIconDialogEditor_DialogMessage;

	public String PartIconDialogEditor_ShellTitle;
	public String PartIconDialogEditor_DialogTitle;
	public String PartIconDialogEditor_DialogMessage;

	public String PerspectiveIconDialogEditor_ShellTitle;
	public String PerspectiveIconDialogEditor_DialogTitle;
	public String PerspectiveIconDialogEditor_DialogMessage;

	public String SharedElementsDialog_ShellTitle;
	public String SharedElementsDialog_Title;
	public String SharedElementsDialog_Message;
	public String SharedElementsDialog_Name;

	public String ToolItemIconDialogEditor_ShellTitle;
	public String ToolItemIconDialogEditor_DialogTitle;
	public String ToolItemIconDialogEditor_DialogMessage;

	public String WindowIconDialogEditor_ShellTitle;
	public String WindowIconDialogEditor_DialogTitle;
	public String WindowIconDialogEditor_DialogMessage;

	public String ImageTooltip_UnknownError;
	public String ImageTooltip_FileNotFound;
	public String ImageTooltip_Icon;
	public String ImageTooltip_Name;
	public String ImageTooltip_Dimension;
	public String ImageTooltip_FileSize;

	public String VItemParametersEditor_TreeLabel;
	public String VItemParametersEditor_TreeLabelDescription;
	public String VItemParametersEditor_Parameters;
	public String VItemParametersEditor_AddParameter;

	public String CoreExpressionEditor_TreeLabel;
	public String CoreExpressionEditor_TreeLabelDescription;
	public String CoreExpressionEditor_ExpressionId;

	public String ImperativeExpressionEditor_TreeLabel;
	public String ImperativeExpressionEditor_TreeLabelDescription;
	public String ImperativeExpressionEditor_TrackingLabel;

	public String ExpressionIdDialog_ShellTitle;
	public String ExpressionIdDialog_DialogTitle;
	public String ExpressionIdDialog_DialogMessage;
	public String ExpressionIdDialog_Id;

	public String MenuIdDialog_ShellTitle;
	public String MenuIdDialog_DialogTitle;
	public String MenuIdDialog_DialogMessage;
	public String MenuIdDialog_Id;

	public String ToolBarIdDialog_ShellTitle;
	public String ToolBarIdDialog_DialogTitle;
	public String ToolBarIdDialog_DialogMessage;
	public String ToolBarIdDialog_Id;

	public String TrimBarIdDialog_ShellTitle;
	public String TrimBarIdDialog_DialogTitle;
	public String TrimBarIdDialog_DialogMessage;
	public String TrimBarIdDialog_Id;

	public String CommandToStringConverter_None;

	public String VRootBindingContexts_AddContext;
	public String VRootBindingContexts_TreeLabel;
	public String VRootBindingContexts_TreeLabelDescription;
	public String VRootBindingContexts_Contexts;

	public String AreaEditor_Label;
	public String AreaEditor_Description;
	public String AreaEditor_Orientation;
	public String AreaEditor_Horizontal;
	public String AreaEditor_SelectedElement;
	public String AreaEditor_ContainerData;
	public String AreaEditor_Controls;
	public String AreaEditor_Vertical;
	public String AreaEditor_LabelLabel;
	public String AreaEditor_Tooltip;
	public String AreaEditor_IconURI;

	public String AreaIconDialogEditor_ShellTitle;
	public String AreaIconDialogEditor_DialogTitle;
	public String AreaIconDialogEditor_DialogMessage;

	public String ModelEditor_Delete;
	public String ModelEditor_ExpandSubtree;
	public String ModelEditor_Form;
	public String ModelEditor_XMI;
	public String ModelEditor_ExternalizeStrings;
	public String ModelEditor_ExportIds;
	public String ModelEditor_Script;
	public String ModelEditor_ShowControl;

	public String ExternalizeStringHandler_Dialog_ElementName;
	public String ExternalizeStringHandler_Dialog_AttributeName;
	public String ExternalizeStringHandler_Dialog_Key;
	public String ExternalizeStringHandler_Dialog_Value;
	public String ExternalizeStringHandler_Dialog_ShellTitle;
	public String ExternalizeStringHandler_Dialog_DialogTitle;
	public String ExternalizeStringHandler_Dialog_DialogMessage;

	public String ExportIdsHandler_Dialog_ElementName;
	public String ExportIdsHandler_Dialog_Key;
	public String ExportIdsHandler_Dialog_Id_Value;
	public String ExportIdsHandler_Dialog_ShellTitle;
	public String ExportIdsHandler_Dialog_DialogTitle;
	public String ExportIdsHandler_Dialog_DialogMessage;
	public String ExportIdsHandler_Dialog_SelectProject;
	public String ExportIdsHandler_Dialog_TargetClassName;

	public String ObjectViewer_Tooltip_Value;
	public String ObjectViewer_Tooltip_InjectionKey;
	public String ObjectViewer_Script;

	public String CommandWizard_ShellTitle;
	public String VWindowSharedElementsEditor_AddPartStack;
	public String Special_UnknownElement;
	public String Special_UnknownElement_Detail;
	public String VWindowSharedElementsEditor_Area;
	public String ModelEditor_ExtractFragment;
	public String ModelEditor_ExtractFragment_NoParentId;
	public String KeyBindingEditor_SequenceLowercase;
	public String ModelTooling_CommandId_tooltip;

	public String ModelEditor_goto_list;
	public String ModelEditor_goto_xmi;
	public String ListTab_0;
	public String ListTab_1;
	public String ListTab_2;
	public String ListTab_3;
	public String ListTab_4;
	public String ListTab_5;
	public String ListTab_6;
	public String ListTab_7;
	public String ListTab_8;
	public String ListTab_9;
	public String ListTab_col_id;
	public String ListTab_col_item;
	public String ListTab_col_label;
	public String ListTab_col_go;

	public String ListTab_addColumn;
	public String ListTab_filterByAttribute;
	public String ListTab_filterByItem;
	public String ListTab_mark;
	public String ListTab_markAttribute;
	public String ListTab_removeFilter;
	public String ListTab_resetColumns;
	public String ListTab_selectAnAttribute;
	public String ListTab_selectAType;

	public String CompositePartEditor_AddPartSashContainer;
	public String CompositePartEditor_AddPartStack;
	public String CompositePartEditor_AddPart;
	public String CompositePartEditor_AddArea;
	public String CompositePartEditor_AddPlaceholder;
	public String CompositePartEditor_Label;
	public String CompositePartEditor_Description;
	public String CompositePartEditor_Orientation;
	public String CompositePartEditor_Horizontal;
	public String CompositePartEditor_Vertical;
	public String CompositePartEditor_SelectedElement;
	public String CompositePartEditor_ContainerData;
	public String CompositePartEditor_Controls;
	public String CompositePartEditor_LabelLabel;
	public String CompositePartEditor_Tooltip;
	public String CompositePartEditor_IconURI;
	public String CompositePartEditor_IconURI_Tooltip;

}
