/*******************************************************************************
 * Copyright (c) 2010-2016 BestSolution.at and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * 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 static String E4StringPickList_Replace;
	public static String E4StringPickList_NewValue;
	public static 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 static String ModelTooling_Common_Up;
	public static String ModelTooling_Common_Down;
	public static String ModelTooling_Common_AddEllipsis;
	public String ModelTooling_Common_Add;
	public static String ModelTooling_Common_Remove;
	public static String ModelTooling_Common_Replace;
	public String ModelTooling_Common_Id;
	public String ModelTooling_Common_RefId;
	public static String ModelTooling_Common_FindEllipsis;
	public String ModelTooling_Common_TabDefault;
	public String ModelTooling_Common_TabSupplementary;
	public String ModelEditor_AddChild;
	public String ModelEditor_Move;
	public String ModelEditor_Cut;
	public String ModelEditor_CutObjects;
	public String ModelEditor_Paste;
	public String ModelEditor_PasteObjects;
	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_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 static String ControlFactory_KeyColumn;
	public static String ControlFactory_ValueColumn;

	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 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_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_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 PartEditor_Controls;

	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_ParentIdTooltip;
	public String MenuContributionEditor_Position;
	public String MenuContributionEditor_PositionTooltip;
	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_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 ToolBarContributionEditor_ParentId;
	public String ToolBarContributionEditor_ParentIdTooltip;
	public String ToolBarContributionEditor_Position;
	public String ToolBarContributionEditor_PositionTooltip;

	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 VControlsEditor_TreeLabel;
	public String VControlsEditor_TreeLabelDescription;

	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_AddCompositePart;
	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 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 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_Controls;

}
