/*******************************************************************************
 * 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 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_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_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_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 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 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;

}
