###############################################################################
# Copyright (c) 2001, 2008 Oracle Corporation 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:
#     Oracle Corporation - initial API and implementation
###############################################################################
messages.layout.displayed-values.list=list (an HTML list)
messages.layout.displayed-values.table=table (an HTML table)

selectManyCheckbox.layout.displayed-values.pageDirection=pageDirection (list is laid out vertically)
selectManyCheckbox.layout.displayed-values.lineDirection=lineDirection (list is laid out horizontally)

selectOneRadio.layout.displayed-values.pageDirection=pageDirection (list is laid out vertically)
selectOneRadio.layout.displayed-values.lineDirection=lineDirection (list is laid out horizontally)

any.frame.displayed-values.none=none (no sides, default value)
any.frame.displayed-values.above=above (top side only)
any.frame.displayed-values.below=below (bottom side only)
any.frame.displayed-values.hsides=hsides (top and bottom sides only)
any.frame.displayed-values.vsides=vsides (right and left sides only)
any.frame.displayed-values.lhs=lhs (left hand side only)
any.frame.displayed-values.rhs=rhs (right hand side only)
any.frame.displayed-values.box=box (all four sides)
any.frame.displayed-values.border=border (all four sides)

any.rules.displayed-values.none=none (no rules, default value)
any.rules.displayed-values.groups=groups (between row groups)
any.rules.displayed-values.rows=rows (between rows only)
any.rules.displayed-values.cols=cols (between columns only)
any.rules.displayed-values.all=all (between all rows and columns)

property.category.event=Event
property.category.language=Language
property.category.html=HTML
property.category.css=CSS
property.category.jsf=JSF
property.category.general=General
property.category.accessibility=Accessibility
property.category.visualProperty=VisualProperty
property.category.browser.specific=Browser Specific
property.category.core=Core
property.category.content=Content
property.category.data.binding=Data Binding
property.category.dynamic=Dynamic
property.category.file=File
property.category.image=Image
