# All rights reserved by Loetz GmbH&Co.KG Heidelberg 2015.
# 
# Contributors:
#       Florian Pirchner - initial API and implementation

pluginName = CxGrid Edit Support
providerName = www.example.org

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.

_UI_PropertyDescriptor_description = The {0} of the {1}

_UI_CxGrid_type = Cx Grid
_UI_CxGridProvider_type = Provider
_UI_CxGridMetaRow_type = Meta Row
_UI_CxGridHeaderRow_type = Header Row
_UI_CxGridFooterRow_type = Footer Row
_UI_CxGridFilterRow_type = Filter Row
_UI_CxGridGroupable_type = Groupable
_UI_CxGridMetaCell_type = Meta Cell
_UI_CxGridGroupedCell_type = Grouped Cell
_UI_CxGridColumn_type = Column
_UI_CxGridCellStyleGenerator_type = Cell Style Generator
_UI_CxGridDelegateCellStyleGenerator_type = Delegate Cell Style Generator
_UI_CxGridSortable_type = Sortable
_UI_CxGridRenderer_type = Cx Grid Renderer
_UI_CxGridDelegateRenderer_type = Cx Grid Delegate Renderer
_UI_CxGridDateRenderer_type = Cx Grid Date Renderer
_UI_CxGridHtmlRenderer_type = Cx Grid Html Renderer
_UI_CxGridNumberRenderer_type = Cx Grid Number Renderer
_UI_CxGridProgressBarRenderer_type = Cx Grid Progress Bar Renderer
_UI_CxGridTextRenderer_type = Cx Grid Text Renderer
_UI_CxGridButtonRenderer_type = Cx Grid Button Renderer
_UI_CxGridImageRenderer_type = Cx Grid Image Renderer
_UI_CxGridRendererClickEvent_type = Click Event
_UI_CxGridBooleanRenderer_type = Cx Grid Boolean Renderer
_UI_CxGridQuantityRenderer_type = Cx Grid Quantity Renderer
_UI_CxGridPriceRenderer_type = Cx Grid Price Renderer
_UI_CxGridIndicatorRenderer_type = Cx Grid Indicator Renderer
_UI_CxGridMemento_type = Cx Grid Memento
_UI_CxGridMementoColumn_type = Column
_UI_CxGridMementoSortable_type = Sortable
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_CxGrid_label_feature = Label
_UI_CxGrid_labelI18nKey_feature = Label I1 8n Key
_UI_CxGrid_selectionType_feature = Selection Type
_UI_CxGrid_selectionEventTopic_feature = Selection Event Topic
_UI_CxGrid_selection_feature = Selection
_UI_CxGrid_multiSelection_feature = Multi Selection
_UI_CxGrid_collection_feature = Collection
_UI_CxGrid_type_feature = Type
_UI_CxGrid_emfNsURI_feature = Emf Ns URI
_UI_CxGrid_typeQualifiedName_feature = Type Qualified Name
_UI_CxGrid_columns_feature = Columns
_UI_CxGrid_sortOrder_feature = Sort Order
_UI_CxGrid_columnReorderingAllowed_feature = Column Reordering Allowed
_UI_CxGrid_cellStyleGenerator_feature = Cell Style Generator
_UI_CxGrid_filteringVisible_feature = Filtering Visible
_UI_CxGrid_customFilters_feature = Custom Filters
_UI_CxGrid_headers_feature = Headers
_UI_CxGrid_headerVisible_feature = Header Visible
_UI_CxGrid_footers_feature = Footers
_UI_CxGrid_footerVisible_feature = Footer Visible
_UI_CxGrid_editorEnabled_feature = Editor Enabled
_UI_CxGrid_editorCancelI18nLabelKey_feature = Editor Cancel I1 8n Label Key
_UI_CxGrid_editorSaveI18nLabelKey_feature = Editor Save I1 8n Label Key
_UI_CxGridMetaRow_groupings_feature = Groupings
_UI_CxGridMetaRow_customCells_feature = Custom Cells
_UI_CxGridMetaCell_target_feature = Target
_UI_CxGridMetaCell_label_feature = Label
_UI_CxGridMetaCell_labelI18nKey_feature = Label I1 8n Key
_UI_CxGridMetaCell_useHTML_feature = Use HTML
_UI_CxGridMetaCell_element_feature = Element
_UI_CxGridGroupedCell_groupables_feature = Groupables
_UI_CxGridGroupedCell_label_feature = Label
_UI_CxGridGroupedCell_labelI18nKey_feature = Label I1 8n Key
_UI_CxGridGroupedCell_useHTML_feature = Use HTML
_UI_CxGridColumn_propertyId_feature = Property Id
_UI_CxGridColumn_label_feature = Label
_UI_CxGridColumn_labelI18nKey_feature = Label I1 8n Key
_UI_CxGridColumn_editable_feature = Editable
_UI_CxGridColumn_converter_feature = Converter
_UI_CxGridColumn_renderer_feature = Renderer
_UI_CxGridColumn_editorField_feature = Editor Field
_UI_CxGridColumn_searchField_feature = Search Field
_UI_CxGridColumn_headerCaption_feature = Header Caption
_UI_CxGridColumn_headerCaptionI18nKey_feature = Header Caption I1 8n Key
_UI_CxGridColumn_expandRatio_feature = Expand Ratio
_UI_CxGridColumn_hidden_feature = Hidden
_UI_CxGridColumn_hideable_feature = Hideable
_UI_CxGridColumn_sortable_feature = Sortable
_UI_CxGridColumn_propertyPath_feature = Property Path
_UI_CxGridColumn_width_feature = Width
_UI_CxGridColumn_minWidthPixels_feature = Min Width Pixels
_UI_CxGridColumn_maxWidthPixels_feature = Max Width Pixels
_UI_CxGridColumn_usedInMetaCells_feature = Used In Meta Cells
_UI_CxGridDelegateCellStyleGenerator_delegateId_feature = Delegate Id
_UI_CxGridSortable_descending_feature = Descending
_UI_CxGridSortable_column_feature = Column
_UI_CxGridDelegateRenderer_delegateId_feature = Delegate Id
_UI_CxGridDateRenderer_dateFormat_feature = Date Format
_UI_CxGridHtmlRenderer_nullRepresentation_feature = Null Representation
_UI_CxGridNumberRenderer_numberFormat_feature = Number Format
_UI_CxGridNumberRenderer_nullRepresentation_feature = Null Representation
_UI_CxGridProgressBarRenderer_maxValue_feature = Max Value
_UI_CxGridTextRenderer_nullRepresentation_feature = Null Representation
_UI_CxGridButtonRenderer_nullRepresentation_feature = Null Representation
_UI_CxGridButtonRenderer_lastClickEvent_feature = Last Click Event
_UI_CxGridButtonRenderer_eventTopic_feature = Event Topic
_UI_CxGridImageRenderer_lastClickEvent_feature = Last Click Event
_UI_CxGridImageRenderer_eventTopic_feature = Event Topic
_UI_CxGridRendererClickEvent_renderer_feature = Renderer
_UI_CxGridRendererClickEvent_lastClickTime_feature = Last Click Time
_UI_CxGridQuantityRenderer_valuePropertyPath_feature = Value Property Path
_UI_CxGridQuantityRenderer_uomPropertyPath_feature = Uom Property Path
_UI_CxGridQuantityRenderer_nullRepresentation_feature = Null Representation
_UI_CxGridQuantityRenderer_htmlPattern_feature = Html Pattern
_UI_CxGridQuantityRenderer_numberFormat_feature = Number Format
_UI_CxGridPriceRenderer_valuePropertyPath_feature = Value Property Path
_UI_CxGridPriceRenderer_currencyPropertyPath_feature = Currency Property Path
_UI_CxGridPriceRenderer_nullRepresentation_feature = Null Representation
_UI_CxGridPriceRenderer_htmlPattern_feature = Html Pattern
_UI_CxGridPriceRenderer_numberFormat_feature = Number Format
_UI_CxGridIndicatorRenderer_greenStarts_feature = Green Starts
_UI_CxGridIndicatorRenderer_redStarts_feature = Red Starts
_UI_CxGridMemento_gridId_feature = Grid Id
_UI_CxGridMemento_headerVisible_feature = Header Visible
_UI_CxGridMemento_filterVisible_feature = Filter Visible
_UI_CxGridMemento_footerVisible_feature = Footer Visible
_UI_CxGridMemento_editorEnabled_feature = Editor Enabled
_UI_CxGridMemento_columns_feature = Columns
_UI_CxGridMemento_sortOrders_feature = Sort Orders
_UI_CxGridMementoColumn_propertyId_feature = Property Id
_UI_CxGridMementoColumn_editable_feature = Editable
_UI_CxGridMementoColumn_expandRatio_feature = Expand Ratio
_UI_CxGridMementoColumn_hidden_feature = Hidden
_UI_CxGridMementoColumn_hideable_feature = Hideable
_UI_CxGridMementoColumn_sortable_feature = Sortable
_UI_CxGridMementoColumn_width_feature = Width
_UI_CxGridMementoSortable_descending_feature = Descending
_UI_CxGridMementoSortable_column_feature = Column
_UI_Unknown_feature = Unspecified

_UI_CxGridIndicatorRenderer_redEnds_feature = Red Ends
_UI_CxGrid_editorSaved_feature = Editor Saved
_UI_CxGridColumn_type_feature = Type
_UI_CxGridColumn_typeQualifiedName_feature = Type Qualified Name
_UI_CxGrid_setLastRefreshTime_feature = Set Last Refresh Time
