###############################################################################
# Copyright (c) 2004 IBM 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:
#     IBM Corporation - initial API and implementation
###############################################################################

INFO_Not_Categorized_1=Not Categorized

## CSS Preferences -- source ##
PrefsLabel_WrappingWithoutAttr=Disable wrapping in style &attribute of HTML
PrefsLabel_WrappingInsertLineBreak=Insert &line break between properties

PrefsLabel_CaseGroup=Capitalization style
PrefsLabel_CaseIdent=Identifier:
PrefsLabel_CasePropName=Property name:
PrefsLabel_CasePropValue=Property value:

PrefsLabel_CaseIdentUpper=&Uppercase
PrefsLabel_CaseIdentLower=L&owercase
PrefsLabel_CasePropNameUpper=U&ppercase
PrefsLabel_CasePropNameLower=Lo&wercase
PrefsLabel_CasePropValueUpper=Upp&ercase
PrefsLabel_CasePropValueLower=Lowe&rcase

## CSS Preferences -- color ##

## The following line is a sample CSS document.  Please translate only the following parts:
## Sample Styles
PrefsLabel_ColorSample=@import url("../sample2.css");\n\n/* Sample Styles */\n\nBODY {\n\tcolor : black;\n\tbackground-color : rgb(181, 253, 211);\n\ttext-align : center;\n\tfont-family : "Heisei Mincho W3", serif\n}\n\n@page :left { margin-left : 4cm }\n\n@media aural {\n\tP.heidi {\n\t\tazimuth : center-left;\n\t\televation : 12.3deg;\n\t\tpause : 30ms 1.6s\n\t}\n}\n

PrefsLabel_ColorNormal=Default
PrefsLabel_ColorAtmarkRule=At-Rule
PrefsLabel_ColorSelector=Selector
PrefsLabel_ColorMedia=Media Name
PrefsLabel_ColorComment=Comment
PrefsLabel_ColorPropertyName=Property Name
PrefsLabel_ColorPropertyValue=Property Value
PrefsLabel_ColorUri=URI
PrefsLabel_ColorString=Quoted String
PrefsLabel_ColorColon=Property Delimiter
PrefsLabel_ColorSemiColon=SemiColon
PrefsLabel_ColorCurlyBrace=Curly Brace
PrefsLabel_ColorError=Error
#
SortAction_0=Sort
#
_UI_WIZARD_NEW_TITLE = New Cascading Style Sheet
_UI_WIZARD_NEW_HEADING = Cascading Style Sheet
_UI_WIZARD_NEW_DESCRIPTION = Create a new CSS file.
_ERROR_FILENAME_MUST_END_CSS = The file name must end in .css
#
Title_InvalidValue=Invalid Value
Message_InvalidValue=Invalid property value.
# Copied from sse.ui
FormatMenu_label=F&ormat
CleanupDocument_label=C&leanup Document...
CleanupDocument_tooltip=Cleanup Document
CleanupDocument_description=Cleanup Document
UI_none=none
Cleanup_UI_=Cleanup
CSS_Cleanup_UI_=CSS Cleanup
Identifier_case__UI_=Identifier case:
Property_name_case__UI_=Property name case:
Property_value_case__UI_=Property value case:
Selector_tag_name_case__UI_=Selector tag name case:
Quote_values_UI_=Quote values
Format_source_UI_=&Format source
As_is_UI_=As-is
Lower_UI_=Lower
Upper_UI_=Upper
SourceMenu_label=&Source
Formatting_UI_=Formatting
Line_width__UI_=Line &width:
Indent_using_tabs_=&Indent using tabs
StructureSelectEnclosing_label=&Enclosing Element
StructureSelectEnclosing_tooltip=Expand selection to include enclosing element
StructureSelectEnclosing_description=Expand selection to include enclosing element
StructureSelectNext_label=&Next Element
StructureSelectNext_tooltip=Expand selection to include next sibling
StructureSelectNext_description=Expand selection to include next sibling
StructureSelectPrevious_label=&Previous Element
StructureSelectPrevious_tooltip=Expand selection to include previous sibling
StructureSelectPrevious_description=Expand selection to include previous sibling