################################################################################
##
##  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.
##
################################################################################

# flex2.tools
Mxmlc.OutputMessage=${name}\uff08${length} \u5b57\u8282\uff09
Compc.OutputMessage=${name}\uff08${length} \u5b57\u8282\uff09
Compiler.NoUpdateMessage=${name} \u662f\u6700\u65b0\u7684\uff0c\u4e0d\u5fc5\u91cd\u5efa\u3002
Compc.NoUpdateMessage=${name} \u662f\u6700\u65b0\u7684\uff0c\u4e0d\u5fc5\u91cd\u5efa\u3002
CompcPreLink.HigherMinimumSupportedVersionRequired=swc\u201c${swc}\u201d\u8981\u6c42\u652f\u6301\u7684\u7248\u672c\u6700\u4f4e\u4e3a ${swcMinimumSupportedVersion}\u3002
CompcPreLink.PotentialForMissingSkins=swc\u201c${swc}\u201d\u5177\u6709\u9ed8\u8ba4\u6837\u5f0f\u5e76\u4e14\u5728 library-path \u4e2d\uff0c\u8868\u793a\u4f9d\u8d56\u9879\u5c06\u4e0d\u5e26\u6709\u6837\u5f0f\u8fdb\u884c\u94fe\u63a5\u3002\u8fd9\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4f7f\u7528\u8f93\u51fa swc \u7684\u5e94\u7528\u7a0b\u5e8f\u51fa\u73b0\u5916\u89c2\u4e22\u5931\u7684\u73b0\u8c61\u3002swc \u5e94\u8be5\u653e\u7f6e\u5728 external-library-path \u4e2d\u3002
PreLink.DependencyNotCompatible=${swc} \u7684\u4f9d\u8d56\u9879 ${definition} \u652f\u6301\u7684\u7248\u672c\u6700\u4f4e\u4e3a ${swcMinimumVersion}\uff0c\u9ad8\u4e8e\u517c\u5bb9\u7248\u672c ${compatibilityVersion}\u3002
PreLink.NoExternalVisibleDefinition=\u76ee\u6807\u6587\u4ef6\u6ca1\u6709\u5916\u90e8\u53ef\u89c1\u7684\u5b9a\u4e49\u3002
PreLink.MissingFactoryClassInFrameMetadata=\u6b64\u7f16\u8bd1\u5355\u5143\u4e0d\u5305\u542b\u5728 Frame \u5143\u6570\u636e\u4e2d\u6307\u5b9a\u7684 factoryClass\uff0c\u65e0\u6cd5\u52a0\u8f7d\u914d\u7f6e\u7684\u8fd0\u884c\u65f6\u5171\u4eab\u5e93\u3002\u8981\u5728\u6ca1\u6709\u8fd0\u884c\u65f6\u5171\u4eab\u5e93\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u7f16\u8bd1\uff0c\u8bf7\u5c06 -static-link-runtime-shared-libraries \u9009\u9879\u8bbe\u7f6e\u4e3a true\uff0c\u6216\u5220\u9664 -runtime-shared-libraries \u9009\u9879\u3002
PreLink.InvalidBackgroundColor=\u65e0\u6548\u7684\u80cc\u666f\u989c\u8272\uff1a${backgroundColor}
PreLink.CouldNotParseNumber=\u65e0\u6cd5\u5c06 ${num} \u89e3\u6790\u4e3a ${attribute} \u7684\u6570\u5b57\u3002
PreLink.MissingSignedLibraryDigest=\u672a\u5728\u5e93 ${libraryPath} \u7684 catalog.xml \u4e2d\u53d1\u73b0\u7b7e\u540d\u7684\u6458\u8981\u3002\u8bbe\u7f6e -create-digest=true \u540e\u7f16\u8bd1\u5e93\uff0c\u7136\u540e\u91cd\u8bd5\u3002
PreLink.MissingUnsignedLibraryDigest=\u672a\u5728\u5e93 ${libraryPath} \u7684 catalog.xml \u4e2d\u53d1\u73b0\u672a\u7b7e\u540d\u7684\u6458\u8981\u3002\u8bbe\u7f6e -create-digest=true \u540e\u7f16\u8bd1\u5e93\uff0c\u7136\u540e\u91cd\u8bd5\u3002
PreLink.ClassesMappedToSameRemoteAlias=\u5904\u7406\u7c7b\u201c${className}\u201d\u65f6\u53d1\u73b0\u201c${existingClassName}\u201d\u5df2\u6620\u5c04\u5230\u8fdc\u7a0b\u7c7b\u522b\u540d\u201c${alias}\u201d\u3002Flex \u73b0\u5728\u5c06\u751f\u6210\u4ee3\u7801\u4ee5\u68c0\u67e5\u522b\u540d\u662f\u5426\u5df2\u7ecf\u6ce8\u518c\u3002\u5728\u53cd\u5e8f\u5217\u5316\u8fdc\u7a0b\u6570\u636e\u65f6\uff0c\u522b\u540d\u53ea\u80fd\u6620\u5c04\u5230\u5355\u4e2a\u7c7b\u3002
PreLink.RequiredRsls=\u5fc5\u9700\u7684 RSL:
PreLink.RequiredRslUrl=\u0020\u0020\u0020\u0020${rslUrl}
PreLink.RequiredRslUrlWithFailover=\u0020\u0020\u0020\u0020${rslUrl} \u5177\u6709 1 \u9879\u6545\u969c\u8f6c\u79fb\u3002
PreLink.RequiredRslUrlWithMultipleFailovers=\u0020\u0020\u0020\u0020${rslUrl} \u5177\u6709 ${failoverCount} \u9879\u6545\u969c\u8f6c\u79fb\u3002
PreLink.CompiledAsAComponent=${className} \u662f\u88ab\u76f4\u63a5\u5f15\u7528\u7684\u6a21\u5757\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u8fd9\u5c06\u5bfc\u81f4 ${className} \u53ca\u5176\u6240\u6709\u4f9d\u8d56\u9879\u4e0e ${mainDefinition} \u94fe\u63a5\u3002\u5efa\u8bae\u4f7f\u7528\u63a5\u53e3\u4ee5\u907f\u514d\u53d1\u751f\u6b64\u60c5\u51b5\u3002
ToolsConfiguration.FailedToLoadLicenseFile=\u52a0\u8f7d\u8bb8\u53ef\u8bc1\u6587\u4ef6\u201c${fileName}\u201d\u5931\u8d25
ToolsConfiguration.BadAS3ESCombination=-as3 \u548c -es \u7ec4\u5408\u65e0\u6548\u3002-as3=${as3}\uff0c-es=${es}\u3002\u5176\u4e2d\u4efb\u4e00\u4e2a\u90fd\u53ef\u4ee5\u4e3a\u201ctrue\u201d\u3002
ToolsConfiguration.BadESStrictCombination=-es=${es}\uff0c-strict=${strict}\u3002\u5141\u8bb8\u4f7f\u7528 -strict\uff0c\u4f46\u53ef\u80fd\u4f1a\u7531\u4e8e\u5f15\u7528\u52a8\u6001\u5c5e\u6027\u800c\u9020\u6210\u7f16\u8bd1\u5668\u9519\u8bef\u3002
ToolsConfiguration.DeprecatedConfigurationOption=\u81ea ${since} \u4ee5\u6765\uff0c\u5df2\u5426\u51b3\u201c${var}\u201d\u3002\u8bf7\u4f7f\u7528\u201c${replacement}\u201d\u3002
Optimizer.NotAValidSwfFile=\u201c${fileName}\u201d\u4e0d\u662f\u6709\u6548\u7684 SWF \u6587\u4ef6
