###############################################################################
# Copyright (c) 2009 John Krasnay 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:
#     John Krasnay - initial API and implementation
#	  Igor Jacy Lino Campista - bug 311140 - new category XML Authoring for new wizards
###############################################################################
pluginName= Vex UI
providerName= Eclipse.org

BuildProblemDecorator.name=Visual XML Plug-in Build Problem
ConfigurationView.name=Visual XML Configuration
DebugView.name=Visual XML Debug
DocumentPerspective.name=XML Authoring
NewDocumentWizard.name=Document
NewDocumentWizard.desc=Create an XML document using the Visual Editor for XML.
NewPluginProjectWizard.name=Visual XML Plug-in Project
NewPluginProjectWizard.desc=Create a Visual XML Plug-in project to register XML types and to associate styles to edit these types of files with the Visual XML Editor.
NewWizardCategory.name=XML Authoring
PluginProjectBuilder.name=Visual XML Plug-in Builder
PluginProjectDecorator.name=Visual XML Plug-in Project
PluginProjectNature.name=Visual XML Plug-in Project Nature
DoctypePropertyPage.name=Visual XML Document Type
StylePropertyPage.name=Visual XML Style
VexCommandCategory.name=Visual XML Editor
VexEditor.name=Visual XML Editor
VexEditor.multipage.name=Visual/Source XML Editor (Experimental)
VexEditorContext.name=Editing XML Documents
VexViewCategory.name=XML Authoring
Keyword.Vex=Vex

extensionPoint.doctypes=Visual XML Document Types
extensionPoint.styles=Visual XML Styles

command.category.name= Vex - Visual Editor for XML
command.addElement.name= Add Element...
command.duplicateSelection.name= Duplicate Selection
command.convertElement.name= Convert Element To...
# dynamic names for 'Remove Tag' see org.eclipse.vex.ui.internal.editor.messages.properties
command.removeTag.name= Remove Tag
# dynamic names for 'Remove Tag' see org.eclipse.vex.ui.internal.editor.messages.properties
command.addRowAbove.name= Add Row Above
command.addRowBelow.name= Add Row Below
command.moveRowUp.name= Move Row Up
command.moveRowDown.name= Move Row Down
command.removeRow.name= Remove Row
command.addColumnLeft.name= Add Column to the Left
command.addColumnRight.name= Add Column to the Right
command.moveColumnLeft.name= Move Column Left
command.moveColumnRight.name= Move Column Right
command.removeColumn.name= Remove Column
command.previousTableCell.name= Previous Table Cell
command.nextTableCell.name= Next Table Cell
command.splitBlockElement.name= Split Block Element
command.splitItem.name= Split Item
command.editNamespaces.name= Edit Namespaces...
command.addComment.name= Add Comment

menu.Document.name= &Document
menu.Add.name= &Add
menu.Add.Element.name= &Element...
menu.Add.Comment.name= &Comment
menu.Add.RowAbove.name= Row &Above
menu.Add.RowBelow.name= Row &Below
menu.Add.ColumnLeft.name= Column to the &Left
menu.Add.ColumnRight.name= Column to the &Right
menu.DuplicateSelection.name= &Duplicate Selection
menu.EditNamespaces.name= &Namespaces...
menu.Move.name= &Move
menu.Move.RowUp= Row &Up
menu.Move.RowDown= Row &Down
menu.Move.ColumnLeft= Column &Left
menu.Move.ColumnRight= Column &Right
menu.Remove.name= &Remove
menu.Remove.Row.name= &Row
menu.Remove.Column.name= &Column
menu.Row.name= Row
menu.Row.AddAbove.name= Add Above
menu.Row.AddBelow.name= Add Below
menu.Row.MoveUp.name= Move Up
menu.Row.MoveDown.name= Move Down
menu.Row.Remove.name= Remove
menu.Column.name= Column
menu.Column.AddLeft.name= Add to the Left
menu.Column.AddRight.name= Add to the Right
menu.Column.MoveLeft.name= Move Left
menu.Column.MoveRight.name= Move Right
menu.Column.Remove.name= Remove
menu.Style.name= &Style

contentType.XmlDocument.name=XML Document

preferencePage.RootPreferencePage.name=Vex

