################################################################################
##
##  Licensed to the Apache Software Foundation (ASF) under one or more
##  contributor license agreements.  See the NOTICE file distributed with
##  this work for additional information regarding copyright ownership.
##  The ASF licenses this file to You under the Apache License, Version 2.0
##  (the "License"); you may not use this file except in compliance with
##  the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##
################################################################################

Descriptor.ColorNotSupported= \u4e0d\u652f\u63f4\u201c${color}\u201d\u8272\u5f69\u3002
Descriptor.FunctionNotSupported= \u4e0d\u652f\u63f4\u51fd\u6578\u201c${function}\u201d\u3002
Descriptor.InvalidFormat= \u7121\u6548\u7684\u683c\u5f0f\u3002
Descriptor.ValueNotSupported= \u4e0d\u652f\u63f4\u201c${value}\u201d\u7684 CSS \u503c\u3002
Descriptor.UnparsableCSS= \u7121\u6cd5\u5256\u6790 CSS \u4e2d\u7684\u5b57\u5143\u3002
FontFaceRule.IgnoredDescriptor= \u5ffd\u7565 @font-face \u4e2d\u7684\u201c${descriptor}\u201d\u3002
FontFaceRule.UnicodeRangeNotSupported = \u7121\u6cd5\u6307\u5b9a\u9810\u5efa SWF \u5b57\u578b\u7684 unicode \u7bc4\u570d\u3002
StyleParser.DeprecatedWarning=\u201c${var}\u201d\u81ea ${since} \u958b\u59cb\u5df2\u904e\u6642\u3002\u8acb\u4f7f\u7528\u201c${replacement}\u201d\u3002
StyleParser.StyleSheetInvalidCharset=@charset \u898f\u5247\u5305\u542b\u7121\u6548\u6216\u4e0d\u53d7\u652f\u63f4\u7684\u5b57\u5143\u96c6\u7de8\u78bc ${charsetName}\u3002\u5728\u6a23\u5f0f\u8868 ${stylePath} \u4e2d\u767c\u73fe\u554f\u984c
StyleParserErrorTranslator.UnableToParse=\u7121\u6cd5\u5256\u6790 CSS \u6a94\u6848\u3002
StyleParserErrorTranslator.InvalidIdentifierStartChar=CSS \u4e2d\u6709\u7121\u6548\u7684\u5b57\u5143\u3002\u8acb\u4f7f\u7528\u5f15\u865f\u5305\u4f4f\u5b57\u578b\u5bb6\u65cf\u540d\u7a31\uff0c\u4f8b\u5982\u201c_sans\u201d\u3002
StyleParserErrorTranslator.InvalidCSSSyntax=CSS \u8a9e\u6cd5\u7121\u6548 (\u975e\u9810\u671f\u7684 ${token})\u3002
StyleParserErrorTranslator.InvalidCSSSyntaxToken=CSS \u8a9e\u6cd5\u7121\u6548 (\u975e\u9810\u671f\u7684\u6a19\u8a18:\u201c${token}\u201d)\u3002
StyleParserErrorTranslator.InvalidCSSSyntaxUnits=CSS \u8a9e\u6cd5\u7121\u6548 (\u975e\u9810\u671f\u7684 ${token} \u55ae\u4f4d)\u3002
StyleParserErrorTranslator.InvalidCSSSyntaxArray=CSS \u8a9e\u6cd5\u7121\u6548 (\u975e\u9810\u671f\u7684\u6a19\u8a18:\u201c${token}\u201d)\u3002\u82e5\u8981\u8a2d\u5b9a\u985e\u578b Array \u7684\u6a23\u5f0f\uff0c\u8acb\u4f7f\u7528\u9017\u865f\u5206\u9694\u6e05\u55ae\u3002\u4f8b\u5982\uff0c{ foo: red, blue, green }\u3002



