/*******************************************************************************
 * Copyright (c) 2010-2022 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 PartDescriptorEditor_TrimBars;

	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 PartEditor_TrimBars;

	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_TrimBars;
	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_AddTrim;

	public String VPartTrimEditor_TreeLabel;
	public String VPartTrimEditor_TreeLabelDescription;
	public String VPartTrimEditor_AddTrim;

	public String VPartDescriptorTrimEditor_TreeLabel;
	public String VPartDescriptorTrimEditor_TreeLabelDescription;
	public String VPartDescriptorTrimEditor_AddTrim;

	public String VPerspectiveTrimEditor_TreeLabel;
	public String VPerspectiveTrimEditor_TreeLabelDescription;
	public String VPerspectiveTrimEditor_AddTrim;

	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_more;
	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;

	public String ItemType_Push;
	public String ItemType_Check;
	public String ItemType_Radio;

	public String SideValue_Bottom;
	public String SideValue_Left;
	public String SideValue_Right;
	public String SideValue_Top;
}
