/*******************************************************************************
 * Copyright (c) 2010 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
 ******************************************************************************/
package org.eclipse.e4.tools.emf.ui.internal;

public class Messages {

	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_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 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_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 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 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 InputPartEditor_Label;
	public String InputPartEditor_InputURI;

	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_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_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_Dirtyable;
	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_ClassURI;
	public String PartEditor_Closeable;
	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_AddInputPart;
	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_AddInputPart;
	public String PartStackEditor_AddPlaceholder;

	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_AddInputPart;
	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_Separator;
	public String MenuContributionEditor_Menu;
	public String MenuContributionEditor_DirectMenuItem;
	public String MenuContributionEditor_ParentId;
	public String MenuContributionEditor_Position;
	public String MenuContributionEditor_TreeLabel;
	public String MenuContributionEditor_TreeLabelDescription;

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

	public String StringModelFragment_Label;
	public String StringModelFragment_Description;
	public String StringModelFragment_Featurename;
	public String StringModelFragment_ParentId;
	public String StringModelFragment_PositionInList;
	public String StringModelFragment_Elements;

	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_Name;
	public String ParameterEditor_Value;

	public String PopupMenuEditor_TreeLabel;
	public String PopupMenuEditor_TreeLabelDescription;

	public String RenderedMenuEditor_TreeLabel;

	public String RenderedMenuItem_TreeLabel;
	public String RenderedMenuItem_TreeLabelDescription;

	public String RenderedToolBarEditor_TreeLabel;

	public String ToolBarContributionEditor_TreeLabel;
	public String ToolBarContributionEditor_TreeLabelDescription;

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

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

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

	public String TrimmedWindowEditor_TrimBars;
	public String TrimmedWindowEditor_TreeLabel;

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

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

	public String 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_AddInputPart;
	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 VWindowSharedElementsEditor_AddInputPart;

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

	public String AbstractIconDialog_IconName;

	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_NoId;
	public String FindParentReferenceElementDialog_ClearCache;
	public String FindParentReferenceElementDialog_NoReferenceId;

	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 ExpressionIdDialog_ShellTitle;
	public String ExpressionIdDialog_DialogTitle;
	public String ExpressionIdDialog_DialogMessage;
	public String ExpressionIdDialog_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_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 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;
}